Zugriff auf PHP-array-element mit einer Funktion?
Ich arbeite an einem Programm, das mit der PHP-internen array-Zeiger zum iterieren zusammen ein mehrdimensionales array. Ich müssen zu bekommen ein element aus der aktuellen Zeile, und ich mache es gerne so:
$arr[key($arr)]['item']
Aber ich würde viel lieber so etwas wie:
current($arr)['item'] //invalid syntax
Ich hoffe, es gibt eine Funktion gibt, die ich verpasst habe in meinem scan von der Dokumentation, die es mir ermöglichen, Zugriff auf das element in etwa so:
getvalue(current($arr), 'item')
oder
current($arr)->getvalue('item')
Irgendwelche Vorschläge?
InformationsquelleAutor der Frage Kyle Cronin | 2008-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich sehr viel Zweifel, es gibt eine solche Funktion, aber es ist trivial zu schreiben
Edit: PHP 5.4, können Sie die index-array-Elemente direkt aus der Funktion Ausdrücken
current($arr)['item']
.InformationsquelleAutor der Antwort Adam Wright
Haben Sie versucht, mit einer der iterator-Klassen noch? Könnte es etwas gibt, das genau das tut, was Sie wollen. Wenn nicht, können Sie wahrscheinlich bekommen, was Sie wollen durch die Verlängerung der ArrayObject Klasse.
InformationsquelleAutor der Antwort
Diese Funktion wird möglicherweise ein wenig ausführliches, aber ich benutze es die ganze Zeit, speziell in scenarious wie:
Dreht sich um dieses:
Hier ist die Funktion:
PS: Sie können auch eindimensionale arrays wie dieses:
InformationsquelleAutor der Antwort Alix Axel
Wenn dies nicht funktioniert, wie ist euer mehrdimensionales array zusammengesetzt? Ein var_dump() könnte helfen.
InformationsquelleAutor der Antwort chelmertz
Verwende ich oft
statt
next($arr)/current($arr)
InformationsquelleAutor der Antwort Gerrit