PHP extrahieren Werte aus mehrdimensionales array ohne Schleife
Ich Frage mich nur, ob es möglich ist, entnehmen Sie die Werte aus einem array in PHP, ohne loop durch. Hier ist ein Teil meiner array, so dass Sie wissen, was ich meine;
Array
(
[0] => Array
(
[0] => 76
[1] => Adventures of Huckleberry Finn
)
[1] => Array
(
[0] => 65
[1] => Adventures of Huckleberry Finn
)
[2] => Array
(
[0] => 59
[1] => Bookcases
)
)
Bin ich nach der Ganzzahl [0] aus jedem array - gibt es eine Funktion, die dies tun können, schneller als eine foreach-Schleife (die Art, die ich in der Regel tun dies) ?
Dank.
- Möchten Sie extrahieren alle Daten? oder Besonderheiten.
- Ich brauche ein array mit nur die zahlen, also array(76, 65, 59)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher, Sie sind auf der Suche für die array_column Funktion.
Wie gesagt in PHP-Handbuch mit dieser Funktion können Sie extrahieren, aus einem array von arrays, die nur Informationen, die Sie benötigen. Es wird normalerweise benutzt, mit Assoziativen arrays, aber Sie können eine Zahl als parameter und es wird funktionieren, wie gut.
Würden Sie wahrscheinlich auf der Suche für array_walk()
Wäre dies natürlich, wenn Sie hatte das array oben in der variable $myArray
$newArray
mit den Werten, die Sie benötigen.Sie schließlich bedeuten array_walk ... aber das ist auch eine Art von Schleife? Dann: die Antwort ist Nein.
Und ich glaube nicht, dass es keine schnellere Methode (außer vom schreiben einer eigenen extension in C :-P)
Versuchen:
Sollte konvertieren Sie das array in dem format, das Sie möchten.
foreach ($array as &$v) $v = $v[0];
array_walk
hat den Vorteil, dass$v
nicht verschmutzen Raum der Namen.Gehen für eine klare Schleife, Ihre Kolleginnen und Programmierer wird es Ihnen danken. Es ist wohl ungefähr so schnell, schneller als jede andere Lösung, und klar geschnitten-code ist vorzuziehen obskuren loop-Ausweichen.
Nur als ein Beispiel: wie viele Sekunden würde es dauern, Sie zu sehen, was:
...nicht?
Funktioniert der trick. Verwenden Sie es nicht.