Arraygröße automatisch ändern

  • Hey,
    wie kann ich ein array automatisch vergrößern lassen ?

    zurzeit mache ich es so, dass ich am anfang vom script ein $aArray[100] erstelle...

    das ist natürlich nicht so optimal gelöst.. deshalb suche ich nach einer funktion, die das array erstmal bei einer größe von 1 startet, und jedes mal wenn ein neuer wert erkannt wird, wird die arraygröße um 1 erweitert.

    ist das möglich?

    mfg

  • Ich empfehle dir den Vorschlag von Xorianator zu nutzen, falls du aber umbedingt Arrays benutzen willst:
    ReDim $array[ubound($array)+1] ; -> Array ist 1 größer
    ReDim $array[ubound($array)-1] ; -> Array ist 1 kleiner
    Das ist aber nicht zu empfehlen, wenn es oft passiert, denn jedesmal, wenn die Größe geändert wird, wird der gesamte (bzw. bis zur verkleinerten Größe) Array-Inhalt einmal kopiert!!! Das ist nicht sehr performant...

  • Guten Abend @Lanealine
    Weißt du, dass dein Array nie mehr Werte beinhalten wird als die mal so festgelegten 100 und geht es dir nur darum, dass das Array am Ende viele Leerpositionen hat?

    Wenn es nämlich nur um das nachträgliche Verkleinern geht, finde ich es schon in Ordnung, mit einer vorher festgelegten Größe zu arbeiten. Wenn die ursprünglich festgelegte Größe auf jeden Fall ausreicht, dann brauchst du nicht bei jedem neuen Wert das Array zu vergrößern. Es genügt, am Ende das Array einmal auf die benötigte zu verkleinern.

    Jedenfalls mache ich das gerne mal so...

    Grüße autoiter