@ 2astalavista, das funktioniert nicht: print_r($arr)=>Array ( [0] => a, [1] => b, [-1] => c )
Laurent
@ returnthis.lau_ In diesem Fall sollten Sie die for-Schleife verwenden - beginnend mit -1 -, damit sie funktioniert: for ($i = -1; $i < count($a)-1; $i++)Wie der Link zeigt, auf den verwiesen wird, aber es ist leicht zu vergessen, daher bevorzuge ich diese Lösung nicht mehr.
Was ist, wenn Sie wörtliche statt numerische Tasten benötigen?
Evan
4
@Evan, die Dokumentation für array_unshiftsagt das FolgendeAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
craned
1
Es gibt zwei Probleme: 1) Neuindizierung des Arrays 2) Element mit Index kann nicht hinzugefügt werden.
Nabi KAZ
2
Wenn Sie ein assoziatives Array haben oder Schlüssel beibehalten müssen, sehen Sie sich die Benutzerbeispiele hier an: php.net/manual/en/function.array-unshift.php Es gibt einige gute Beispiele, wie dies erreicht werden kann!
Vallier
112
Bei einem assoziativen Array oder einem nummerierten Array, bei dem Sie die Array-Schlüssel nicht ändern möchten:
Beachtung! "Der Operator + gibt das rechte Array zurück, das an das linke Array angehängt ist. Für Schlüssel, die in beiden Arrays vorhanden sind, werden die Elemente aus dem linken Array und die übereinstimmenden Elemente aus dem rechten Array verwendet ignoriert. " - Siehe: stackoverflow.com/a/2140094/3411766
Cottton
Die Lösung ist gut, da Elemente mit einem Index hinzugefügt werden können und das Array nicht neu indiziert wurde. Beachten Sie jedoch nur das Entfernen von Elementen im rechten Array, wenn das linke Array denselben Index enthält.
$arr[-1] = $item;
Gefunden hier: stackoverflow.com/a/15252657/669677print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
for ($i = -1; $i < count($a)-1; $i++)
Wie der Link zeigt, auf den verwiesen wird, aber es ist leicht zu vergessen, daher bevorzuge ich diese Lösung nicht mehr.Antworten:
Verwenden Sie array_unshift ($ array, $ item);
werde dir geben
quelle
array_unshift
sagt das FolgendeAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
Bei einem assoziativen Array oder einem nummerierten Array, bei dem Sie die Array-Schlüssel nicht ändern möchten:
array_merge
funktioniert nicht, da das Array immer neu indiziert wird.quelle
Funktion verwenden
array_unshift
quelle
Fügen Sie ein Element am Anfang eines assoziativen Arrays mit einer Zeichenfolge / einem benutzerdefinierten Indexschlüssel ein
ERGEBNIS
quelle
Das wird helfen
http://www.w3schools.com/php/func_array_unshift.asp
quelle
Verwenden Sie array_unshift () , um das erste Element in ein Array einzufügen.
Benutzer array_shift (), um das erste Element eines Arrays zu entfernen.
quelle
Oder Sie können ein temporäres Array verwenden und dann das echte löschen, wenn Sie es im Zyklus ändern möchten:
Die Ausgabe lautet:
und wenn Sie dies während des Zyklus tun, sollten Sie
$temp_array
nach dem Anhängen des Elements an das Array bereinigen .quelle
Mit benutzerdefiniertem Index:
quelle
Für ein assoziatives Array können Sie einfach Merge verwenden.
quelle