Bagaimana untuk menentukan berapa banyak dimensi tatasusunan dalam PHP

PHPz
Lepaskan: 2023-04-18 10:28:17
asal
686 orang telah melayarinya

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;
}
Salin selepas log masuk

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')
    )
);
Salin selepas log masuk

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

echo getArrayDepth($array); // 输出 3
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan