Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan penjumlahan rekursif tatasusunan dalam php

Bagaimana untuk melaksanakan penjumlahan rekursif tatasusunan dalam php

PHPz
Lepaskan: 2023-04-18 09:59:55
asal
727 orang telah melayarinya

Dalam PHP, tatasusunan ialah struktur data biasa yang boleh digunakan untuk menyimpan berbilang nilai. Dalam sesetengah senario aplikasi, kita perlu menjumlahkan tatasusunan bersarang Dalam kes ini, kita perlu menggunakan algoritma penjumlahan rekursif tatasusunan.

Idea algoritma penjumlahan rekursif adalah untuk merentasi setiap elemen dalam tatasusunan Jika elemen itu ialah tatasusunan, panggil sendiri secara rekursif untuk mengira jumlah tatasusunan kepada jumlah.

Berikut ialah sekeping kod PHP yang melaksanakan algoritma jumlah rekursif:

function array_sum_recursive($arr) {
    $sum = 0;
    foreach ($arr as $value) {
        if (is_array($value)) {
            $sum += array_sum_recursive($value);
        } else {
            $sum += $value;
        }
    }
    return $sum;
}
Salin selepas log masuk

Fungsi ini menerima tatasusunan sebagai parameter dan mengembalikan jumlah semua elemen tatasusunan. Ia mula-mula menetapkan jumlah kepada 0 dan kemudian berulang melalui setiap elemen dalam tatasusunan. Untuk setiap elemen, ia mula-mula menyemak sama ada ia adalah tatasusunan, dan jika ya, ia memanggil dirinya secara rekursif untuk mengira jumlah tatasusunan ini, jika tidak, ia menambah nilai elemen kepada jumlah itu. Akhirnya pulangkan jumlahnya.

Berikut ialah beberapa contoh penggunaan fungsi ini:

$arr1 = array(1, 2, 3, 4, 5);
echo array_sum_recursive($arr1); // 输出 15

$arr2 = array(1, 2, array(3, 4, 5), 6, 7);
echo array_sum_recursive($arr2); // 输出 28

$arr3 = array(array(1, 2, 3), array(4, 5), array(6, 7, 8, 9));
echo array_sum_recursive($arr3); // 输出 45
Salin selepas log masuk

Seperti yang anda lihat, tidak kira betapa bersarang tatasusunan, fungsi ini boleh mengira jumlahnya dengan betul.

Dalam aplikasi praktikal, algoritma penjumlahan rekursif boleh digunakan dalam banyak senario, seperti mengira bilangan nod dalam struktur pepohon, mengira jumlah semua nilai dalam senarai bersarang berbilang lapisan, dsb. . Menguasai algoritma penjumlahan rekursif boleh membantu kami mengendalikan struktur data yang kompleks ini dengan lebih baik dan meningkatkan kecekapan dan fleksibiliti program.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penjumlahan rekursif 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