Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengira Kedalaman Tatasusunan Bersarang dalam PHP?

Bagaimanakah Saya Boleh Mengira Kedalaman Tatasusunan Bersarang dalam PHP?

Patricia Arquette
Lepaskan: 2024-11-08 05:05:01
asal
821 orang telah melayarinya

How Can I Calculate the Depth of Nested Arrays in PHP?

Menentukan Kedalaman Tatasusunan Bersarang dalam PHP

Tatasusunan ialah struktur data serba boleh dalam PHP, membenarkan elemen disimpan dalam tatasusunan lain. Ciri ini mendayakan organisasi data yang kompleks, tetapi ia boleh mencabar untuk menentukan tahap maksimum tatasusunan bersarang dalam struktur tertentu.

Untuk menangani perkara ini, fungsi boleh dicipta yang mengira kedalaman tatasusunan, menunjukkan tahap maksimum tatasusunan bersarang. Jika tatasusunan tidak mengandungi sebarang tatasusunan bersarang, ia mengembalikan 1; jika ia mengandungi satu atau lebih tatasusunan bersarang, ia mengembalikan 2; dan seterusnya.

Penyelesaian Alternatif untuk Rekursi Infinite:

Satu pendekatan untuk mencari kedalaman tatasusunan ialah menggunakan print_r() untuk menyemak rekursi tak terhingga. Fungsi ini menjana perwakilan rentetan tatasusunan, dan lekukan keluarannya boleh mendedahkan kedalaman struktur.

function array_depth($array) {
    $max_indentation = 1;

    $array_str = print_r($array, true);
    $lines = explode("\n", $array_str);

    foreach ($lines as $line) {
        $indentation = (strlen($line) - strlen(ltrim($line))) / 4;

        if ($indentation > $max_indentation) {
            $max_indentation = $indentation;
        }
    }

    return ceil(($max_indentation - 1) / 2) + 1;
}
Salin selepas log masuk

Penyelesaian ini memberikan penentuan tepat kedalaman tatasusunan, mengelakkan kemungkinan perangkap yang dikaitkan dengan fungsi rekursif.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kedalaman Tatasusunan Bersarang dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan