Heim > Artikel > Backend-Entwicklung > Wie greife ich mit foreach in PHP auf ein verschachteltes Array an einem bestimmten Index zu?
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!