Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengakses Tatasusunan Bersarang pada Indeks Tertentu Menggunakan foreach dalam PHP?

Bagaimana untuk Mengakses Tatasusunan Bersarang pada Indeks Tertentu Menggunakan foreach dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-17 22:07:02660semak imbas

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

PHP foreach dengan Nested Array

Soalan: Bagaimana untuk mengakses tatasusunan bersarang tertentu menggunakan gelung foreach dalam PHP ?

Pertimbangkan tatasusunan bersarang berikut:

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

Matlamatnya adalah untuk mengulangi nilai tatasusunan bersarang pada kekunci 1, tanpa menggunakan perbandingan boleh ubah.

Jawapan: Terdapat dua pendekatan untuk mencapai ini:

1. Gelung Bersarang (Kedalaman Tetap):

Kaedah ini sesuai jika kedalaman tatasusunan bersarang diketahui lebih awal.

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

2. Fungsi Rekursif (Kedalaman Tidak Diketahui):

Pendekatan ini digunakan apabila kedalaman tatasusunan bersarang tidak diketahui. Ia melibatkan fungsi rekursif yang merentasi tatasusunan:

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

Kes Khusus:

Untuk mengakses tatasusunan bersarang sahaja dengan nilai untuk tahap ketiga (kunci 2) , gunakan kod berikut:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Tatasusunan Bersarang pada Indeks Tertentu Menggunakan foreach dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn