Wie bekomme ich das erste Element von einem assoziativen PHP-Array?
Wenn ich ein array wie:
$array['foo'] = 400;
$array['bar'] = 'xyz';
Und ich wollte das erste Element aus diesem array, ohne zu wissen, den Schlüssel für ihn, wie soll ich das tun? Gibt es eine Funktion dafür?
Kommentar zu dem Problem
(Referenz) Arrays und die Array-Funktionen
InformationsquelleAutor der Frage Click Upvote | 2009-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
reset()
gibt Sie den ersten Wert des Arrays, wenn Sie ein element im array:Es gibt Ihnen auch
FALSE
im Fall, dass der array leer ist.InformationsquelleAutor der Antwort soulmerge
Fake Schleife, die bricht bei der ersten iteration:
Oder verwenden Sie
()
(Warnung: veraltet seit PHP 7.2.0):InformationsquelleAutor der Antwort John Kugelman
Gibt es ein paar Optionen.
array_shift()
wird wieder das erste element, aber es wird auch entfernen Sie das erste element aus dem array.current()
wird der Wert des Arrays, dass der interne Speicher Zeiger verweist, die das erste element standardmäßig.Wenn Sie sicherstellen möchten, dass es auf das erste element, können Sie immer
reset()
.InformationsquelleAutor der Antwort Jeremy Ruten
Nur so, dass wir einige andere Optionen:
reset($arr);
gut genug, wenn Sie nicht versuchen, Sie zu halten der array-pointer vorhanden, und bei sehr großen arrays es wird ein minimale Menge an overhead zur Folge. Das heißt, es gibt einige Probleme mit ihm:Den Weg, dies zu tun, ohne das ändern der Zeiger:
Nutzen
$arr[reset(array_keys($arr))];
ist, dass es wirft eine Warnung, wenn das Feld tatsächlich leer ist.InformationsquelleAutor der Antwort cwallenpoole
eine weitere einfache und einfache Weise, es zu tun, verwenden Sie array_values
InformationsquelleAutor der Antwort Beginner
Können wir tun
$erste = reset($array);
Statt
$first = current($array);
Als reset()
gibt das erste element des array nach reset;
InformationsquelleAutor der Antwort Suryasish Dey
Testen, ob die variable ein array ist, bevor man das erste element. Wenn Sie dynamisch erstellen Sie das array, wenn es auf null gesetzt ist, erhalten Sie eine Fehlermeldung.
Beispiel:
InformationsquelleAutor der Antwort w3bMak3r
Wenn Sie nicht wissen genug über die array - (Sie sind sich nicht sicher, ob der erste Schlüssel ist foo oder bar), dann wird das array könnte gut sein, leer.
Also wäre es am besten zu überprüfen, vor allem wenn es die chance ist, dass der zurückgegebene Wert möglicherweise der boolean FALSE:
Den oben genannten code verwendet
reset
und so hat Nebenwirkungen (es setzt den internen Zeiger des Arrays), so dass Sie vielleicht lieber mitarray_slice
um schnell Zugriff auf eine Kopie des ersten Elements des Arrays:Angenommen, Sie wollen beide Schlüssel und Wert getrennt, müssen Sie den vierten parameter
array_slice
:Um das erste Element als ein paar (
key => value
):Einfache Modifikation um die letzten Element, Schlüssel und Wert getrennt:
InformationsquelleAutor der Antwort LSerni
Könnten Sie array_shift
InformationsquelleAutor der Antwort Cesar
Ich tun dies, um die ersten und letzten Wert. Dies funktioniert mit mehr Werten zu.
InformationsquelleAutor der Antwort Daantje
Können Sie versuchen, diese.
Um den ersten Wert des Arrays :-
Bekommen erste Schlüssel des Arrays
InformationsquelleAutor der Antwort Sonu
Können Sie machen:
InformationsquelleAutor der Antwort d0niek