Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan berapa banyak dimensi tatasusunan dalam PHP

Bagaimana untuk menentukan berapa banyak dimensi tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-18 10:26:16681semak imbas

Dalam PHP, untuk menentukan dimensi tatasusunan, anda biasanya boleh menggunakan kaedah rekursif.

Pertama, mari kita fahami apa itu rekursi. Algoritma rekursif ialah algoritma panggilan kendiri, iaitu kaedah yang memanggil dirinya dalam fungsi itu sendiri untuk menyelesaikan masalah.

Mengambil penentuan dimensi tatasusunan sebagai contoh, kita boleh menulis fungsi rekursif untuk melintasi tatasusunan, dan setiap kali menentukan sama ada elemen semasa masih tatasusunan Jika ya, teruskan melintasi tatasusunan secara rekursif sehingga ia mencapai Elemen terakhir, mendapat dimensi tatasusunan.

Berikut ialah pelaksanaan kod fungsi rekursif PHP yang ringkas:

function getArrayDepth($array) {
    $max_depth = 1;
    foreach ($array as $value) {
        if (is_array($value)) {
            $depth = getArrayDepth($value);
            if ($depth + 1 > $max_depth) {
                $max_depth = $depth + 1;
            }
        }
    }
    return $max_depth;
}

Perlaksanaan fungsi ini adalah sangat mudah Mula-mula tentukan pembolehubah $max_depth untuk menyimpan dimensi maksimum tatasusunan semasa , dan kemudian melintasi tatasusunan Untuk setiap elemen dalam $array, tentukan sama ada ia adalah tatasusunan. Jika ia adalah tatasusunan, panggil fungsi getArrayDepth() secara rekursif untuk mendapatkan dimensi $depth tatasusunan, tambahkan 1 pada dimensi tatasusunan, bandingkan dengan dimensi maksimum semasa dan kemas kini $max_depth dengan nilai yang lebih besar. Akhirnya kembalikan $max_depth.

Sebagai contoh, kita mempunyai tatasusunan tiga dimensi:

$array = array(
    array(
        array(1, 2, 3),
        array(4, 5, 6),
        array(7, 8, 9)
    ),
    array(
        array('a', 'b'),
        array('c', 'd')
    )
);

Kemudian panggil fungsi getArrayDepth($array) untuk mendapatkan dimensi tatasusunan menjadi 3.

echo getArrayDepth($array); // 输出 3

Ringkasan:

Dalam PHP, untuk menentukan berapa banyak dimensi tatasusunan, anda boleh menggunakan kaedah rekursif untuk melintasi tatasusunan untuk mengira dimensi tatasusunan. Tatasusunan berbilang dimensi boleh diproses dengan mudah menggunakan fungsi rekursif.

Atas ialah kandungan terperinci Bagaimana untuk menentukan berapa banyak dimensi tatasusunan 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