Dynamischer Array-Zugriff mit String-Indizes
Betrachten Sie eine Array-Struktur wie folgt:
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 ) ) ) )
Die Anforderung ist: Entwerfen Sie eine Funktion, die eine Zeichenfolge akzeptiert, die einen Array-Indexpfad darstellt, und den entsprechenden Array-Wert zurückgibt. Beispielsweise würde der Indexpfad „0[‘name‘]“ „Manager“ zurückgeben, während „1‘name‘“ „Jane“ ergeben würde. Die Anzahl der Array-Ebenen im Indexpfad kann variieren.
Lösung
Um dies zu erreichen, verwenden Sie die Funktion „explosive()“, um den String-Indexpfad in ein Array aufzuteilen der einzelnen Schlüssel. Durchlaufen Sie die Schlüssel mithilfe einer foreach-Schleife und navigieren Sie entsprechend durch die Array-Ebenen. Der resultierende Wert kann abgerufen und einer Variablen zugewiesen werden. Hier ist eine praktische Implementierung:
function getArrayValue($indexPath, $arrayToAccess) { $paths = explode(":", $indexPath); $itens = $arrayToAccess; foreach($paths as $ndx){ $itens = $itens[$ndx]; } return $itens; }
Durch die Verwendung dieser Funktion können Sie mithilfe einer Zeichenfolge als Indexpfad dynamisch auf Array-Werte zugreifen und so eine bequeme und flexible Methode zum Datenabruf bereitstellen.
Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe von String-Indizes in PHP dynamisch auf Array-Werte zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!