PHP foreach dengan Nested Arrays
Untuk senario ini, di mana anda menyasarkan untuk mengakses nilai tatasusunan bersarang, gelung foreach ialah alat yang berkesan. Untuk memahami penggunaannya, pertimbangkan contoh ini:
<code class="php">$tmpArray = [ [ 'one', [1, 2, 3] ], [ 'two', [4, 5, 6] ], [ 'three', [7, 8, 9] ] ];</code>
Untuk mengulangi nilai tatasusunan bersarang, gunakan gelung foreach bersarang berikut:
<code class="php">foreach ($tmpArray as $innerArray) { if (is_array($innerArray)) { foreach ($innerArray as $value) { echo $value; } } else { echo $innerArray; } }</code>
Pendekatan ini membolehkan anda mengendalikan kedua-dua tatasusunan dan elemen bukan tatasusunan dalam tatasusunan bersarang.
Jika anda tidak mengetahui kedalaman tatasusunan bersarang anda, rekursi ialah kaedah alternatif. Kod ini secara rekursif akan memaparkan ahli tatasusunan dengan lekukan:
<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"; } } } }</code>
Untuk kes khusus anda, di mana anda ingin memaparkan nilai dari tahap ketiga sahaja, anda boleh mengubah suai kod seperti berikut:
<code class="php">foreach ($tmpArray as $inner) { if (is_array($inner)) { foreach ($inner[1] as $value) { echo "$value \n"; } } }</code>
Pendekatan ini akan memaparkan nilai daripada tatasusunan bersarang pada tahap ketiga, iaitu, [1, 2, 3], [4, 5, 6] dan [7, 8, 9].
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Tatasusunan Bersarang dengan Berkesan dalam PHP dengan Pendekatan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!