Wie greife ich mit foreach in PHP auf ein verschachteltes Array an einem bestimmten Index zu?

Mary-Kate Olsen
Freigeben: 2024-10-17 22:07:02
Original
575 Leute haben es durchsucht

How to Access a Nested Array at a Specific Index Using foreach in PHP?

PHP foreach mit verschachteltem Array

Frage: So greifen Sie mithilfe einer foreach-Schleife in PHP auf ein bestimmtes verschachteltes Array zu ?

Betrachten Sie das folgende verschachtelte Array:

<code class="php">array(
    [0] => array(
        [0] => one
        [1] => array(
            [0] => 1
            [1] => 2
            [2] => 3
            )
        )

    [1] => array(
        [0] => two
        [1] => array(
            [0] => 4
            [1] => 5
            [2] => 6
            )
        )

    [2] => array(
        [0] => three
        [1] => array(
            [0] => 7
            [1] => 8
            [2] => 9
            )
        )
    )
);</code>
Nach dem Login kopieren

Das Ziel besteht darin, die Werte des verschachtelten Arrays bei Schlüssel 1 zu durchlaufen, ohne einen Variablenvergleich zu verwenden.

Antwort:Es gibt zwei Ansätze, um dies zu erreichen:

1. Verschachtelte Schleifen (feste Tiefe):

Diese Methode eignet sich, wenn die Tiefe der verschachtelten Arrays im Voraus bekannt ist.

<code class="php">foreach ($tmpArray as $innerArray) {
    if (is_array($innerArray)) {
        foreach ($innerArray as $value) {
            echo $value;
        }
    } else {
        echo $innerArray;
    }
}</code>
Nach dem Login kopieren

2. Rekursive Funktion (Unbekannte Tiefe):

Dieser Ansatz wird verwendet, wenn die Tiefe der verschachtelten Arrays unbekannt ist. Dabei handelt es sich um eine rekursive Funktion, die das Array durchläuft:

<code class="php">function displayArrayRecursively($arr, $indent='') {
    if ($arr) {
        foreach ($arr as $value) {
            if (is_array($value)) {
                displayArrayRecursively($value, $indent . '--');
            } else {
                echo "$indent $value \n";
            }
        }
    }
}

$tmpArray = array(
    array("one", array(1, 2, 3)),
    array("two", array(4, 5, 6)),
    array("three", array(7, 8, 9))
);

displayArrayRecursively($tmpArray);</code>
Nach dem Login kopieren

Sonderfall:

Um nur auf das verschachtelte Array mit Werten für die dritte Ebene zuzugreifen (Schlüssel 2) , verwenden Sie den folgenden Code:

<code class="php">foreach ($tmpArray as $inner) {
    if (is_array($inner)) {
        foreach ($inner[1] as $value) {
            echo "$value \n";
        }
    }
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie greife ich mit foreach in PHP auf ein verschachteltes Array an einem bestimmten Index zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!