PHP: Neuen Wert an Anfang von Array einfügen
Frage von Gast | 28.05.2014 um 15:22
Ich habe ein PHP-Skript, in dem ich mit einigen Array-Operationen arbeite. Aus anderen Programmiersprachen bin ich es gewohnt, so genannte dynamische Arrays zu benutzen, zu denen man auch nach der Erstellung noch Elemente hinzufügen kann.
Wie es mir scheint, ist das in PHP nicht so einfach, da man ja nur array(1, 2, 3) verwenden kann, um einen Array zu erstellen. Danach scheint der Array festzustehen.
Gibt es denn eine Möglichkeit, einen so erzeugten Array noch im Nachhinein zu erweitern? Konkret geht es mir um die Möglichkeit, einen neuen Wert beziehungsweise ein neues Element direkt am Anfang des Arrays neu einzufügen.
Ähnliche Themen
PHP: Alle leeren Elemente aus String-Array entfernen
Tipp | 0 Kommentare
JavaScript: Arrays erstellen und nutzen
Info | 0 Kommentare
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
Lazarus: Datei als Byte-Array laden und Byte-Array als Datei speichern
Tutorial | 0 Kommentare
PHP: Array in Einzelvariablen schreiben
Tutorial | 0 Kommentare
PHP: Array mit Zahlenfolgen oder Buchstabenfolgen füllen
Tutorial | 0 Kommentare
Delphi/Lazarus: Byte Array als String aus HEX-Werten anzeigen
Tipp | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Also ich benutze immer die Funktion array_merge dafür, um neue Elemente zu einem Array hinzuzufügen. Mit array_merge kann man mehrere Arrays zusammenfügen.
Nutzen kann man es zum Beispiel so:
In allen drei Beispielen haben wir anschließend einen Array mit den Elementen 1, 2, 3, 4 und 5. In den ersten beiden Beispielen fügen wir Elemente vorne hinzu, das dritte Beispiel zeigt, dass man diese Methode auch benutzen kann, um Elemente hinten in den Array einzufügen.
Das Prinzip ist immer das gleiche: Wir kombinieren unseren alten Array mit einem neuen Array, der genau die Elemente enthält, die wir hinzufügen möchten.
31.05.2014 um 09:08
PHP enthält die Funktion array_unshift, mit der man eines oder mehrere Elemente am Anfang eines Arrays hinzufügen kann.
Die Funktion erwartet also mindestens zwei Parameter: Als erstes den Array, zu dem die Elemente hinzugefügt werden sollen und anschließend eine beliebige Anzahl von Elementen.
02.06.2014 um 09:00
Zuletzt möchte ich noch eine vielleicht etwas ungewöhnliche Methode vorstellen. In bestimmten Situationen kann nämlich auch die Funktion array_pad sinnvoll sein. Diese Funktion arbeitet ähnlich wie array_fill und füllt einen übergebenen Array auf eine gewünschte Länge mit immer dem gleichen Elemente auf.
Als ersten Parameter geben wir den ursprünglichen Array an, als zweiten die gewünschte Länge und als dritten das Element, das zum Auffüllen benutzt werden soll. Im Beispiel möchten wir einen Array mit 6 Elementen haben und den Array mit 0 auffüllen.
Benutzen wir einen positiven zweiten Parameter, wird hinten aufgefüllt. Geben wir einen negativen zweiten Parameter an, wird von aufgefüllt:
Wenn wir nur ein Element an den Anfang einfügen möchten, könnte eine dynamische Lösung etwa so aussehen:
Wir brauchen also die negative Länge des aktuellen Arrays + 1, um genau ein Element vorne einzufügen. Das erledigt dynamisch der Ausdruck (count($arr)+1)*(-1).
04.06.2014 um 18:57