Heim  >  Artikel  >  Backend-Entwicklung  >  Wie greife ich mit foreach in PHP auf ein verschachteltes Array an einem bestimmten Index zu?

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-17 22:07:02659Durchsuche

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>

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>

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>

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>

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!

Stellungnahme:
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