Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich mithilfe eines String-Indexpfads in PHP auf Werte in verschachtelten Arrays zu?

Wie greife ich mithilfe eines String-Indexpfads in PHP auf Werte in verschachtelten Arrays zu?

Barbara Streisand
Freigeben: 2024-10-25 17:27:05
Original
926 Leute haben es durchsucht

How to Access Values in Nested Arrays Using a String Index Path in PHP?

Zugriff auf Werte in verschachtelten Arrays mithilfe eines String-Indexpfads

In PHP stoßen wir auf Situationen, in denen wir Werte aus verschachtelten Arrays mithilfe von abrufen müssen ein dynamischer Indexpfad, der als Zeichenfolge definiert ist. Um dies zu erreichen, ohne eval() zu verwenden, was Sicherheitsrisiken birgt, können wir den folgenden Ansatz erkunden:

Betrachten Sie das Beispielarray:

<code class="php">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
                         )
                 )

        )

)</code>
Nach dem Login kopieren

Um den Wert von Manager abzurufen, verwenden Sie an Indexpfad von [0]['Data']['name'], wir können die folgende Funktion verwenden:

<code class="php">function getIndexValue($indexPath, $arrayToAccess)
{
    $paths = explode(":", $indexPath);
    $itens = $arrayToAccess;
    foreach($paths as $ndx){
        $itens = $itens[$ndx];
    }
    return $itens;
}</code>
Nach dem Login kopieren

Calling getIndexValue("[0]['Data']['name'] ", $myArray) würde Manager zurückgeben. Um den Wert von Jane mithilfe eines Indexpfads von [1]['Data']['name']['first'] abzurufen, könnten wir in ähnlicher Weise dieselbe Funktion mit dem aktualisierten Pfad verwenden.

Durch die Aufteilung des Pfads in einzelne Abschnitte mithilfe von „explosive()“ und das iterative Navigieren im Array basierend auf jedem Abschnitt können wir effektiv auf Werte zugreifen, ohne eval() zu verwenden, und so einen sicheren und flexiblen Ansatz beibehalten.

Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe eines String-Indexpfads in PHP auf Werte in verschachtelten Arrays zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage