Lassen Sie sagen, ich habe ein Array wie:Wie verwende ich eine Zeichenfolge als Array-Indexpfad, um einen Wert abzurufen?
Array
(
[0] => Array
(
[Data] => Array
(
[id] => 1
[title] => Manager
[name] => John Smith
)
)
[1] => Array
(
[Data] => Array
(
[id] => 1
[title] => Clerk
[name] =>
(
[first] => Jane
[last] => Smith
)
)
)
)
Ich mag eine Funktion bauen können, dass ich eine Zeichenfolge an, dass passieren kann, wird als Array-Index Pfad handeln und den entsprechenden Array-Wert zurück, ohne eval()
mit . Ist das möglich?
function($indexPath, $arrayToAccess)
{
// $indexPath would be something like [0]['Data']['name'] which would return
// "Manager" or it could be [1]['Data']['name']['first'] which would return
// "Jane" but the amount of array indexes that will be in the index path can
// change, so there might be 3 like the first example, or 4 like the second.
return $arrayToAccess[$indexPath] // <- obviously won't work
}
Schön. Hinweis zu copy-and-pasters: Der rekursive Aufruf von 'getValue' stimmt nicht mit dem Funktionsnamen 'get_value' überein. Sie sollten übereinstimmen, um richtig zu funktionieren. – grossvogel
Dies ist jetzt behoben – Ash
Dies ist ein großartiges Beispiel! Danke @manji! – Michael