Fügt dem Array einen neuen Wert hinzu, ohne dessen Größe zu ändern. Beim Einfügen an das Ende wird das erste Array-Element gelöscht bzw. entgegengesetzt.
#Include <Array.au3>
_ArrayPush(ByRef $avArray, $vValue [, $iDirection = 0])
Parameter
| $avArray | Array, das aktualisiert werden soll. |
| $vValue | Der hinzuzufügende neue Wert. Dieser kann auch ein Array sein. |
| $iDirection | [optional] Richtung in die die Arrayelemente verschoben werden sollen: 0 = Linksseitiges Verschieben der Werte (hinzufügen am Ende) 1 = Rechtsseitiges Verschieben der Werte (hinzufügen am Anfang) |
Rückgabewert
| Erfolg: | 1 |
| Fehler: | 0, setzt @error: |
| @error: | 1 - $avArray ist kein Array |
| 2 - $vValue ist ein Array größer als $avArray (somit kann es nicht eingepasst werden) | |
| 3 - $avArray ist kein 1-dimensionales Array |
Bemerkungen
Diese Funktion wird genutzt, um kontinuierlich Daten in einem Array zu aktualisieren, welche anderenfalls eine gewaltige Arraygröße erzeugen würden. So werden alle Werte innerhalb des Arrays gehalten - wie in einem Verlauf -, ohne den ersten oder letzten, in Abhängigkeit der getroffenen Richtungswahl. Es ist vergleichbar mit dem Push-Befehl im Assembler.
Verwandte Funktionen
_ArrayAdd, _ArrayConcatenate, _ArrayDelete, _ArrayInsert, _ArrayPop
Beispiel
#include <Array.au3>
Local $avArrayTarget[9] = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Local $avArraySource[2] = [100, 200]
_ArrayDisplay($avArrayTarget, "$avArrayTarget VOR _ArrayPush()")
_ArrayPush($avArrayTarget, $avArraySource)
_ArrayDisplay($avArrayTarget, "$avArrayTarget NACHDEM _ArrayPush() 2 Werte am Ende eingefügt hat")
_ArrayPush($avArrayTarget, $avArraySource, 1)
_ArrayDisplay($avArrayTarget, "$avArrayTarget NACHDEM _ArrayPush() 2 Werte am Anfang eingefügt hat")
_ArrayPush($avArrayTarget, "Hallo Welt", 1)
_ArrayDisplay($avArrayTarget, "$avArrayTarget NACHDEM _ArrayPush() einen String am Anfang eingefügt hat")