Rumah > pembangunan bahagian belakang > masalah PHP > php jumlah nilai tatasusunan

php jumlah nilai tatasusunan

PHPz
Lepaskan: 2023-05-23 14:07:08
asal
476 orang telah melayarinya

Apabila membangun menggunakan PHP, anda sering menghadapi keperluan untuk menjumlahkan nilai dalam tatasusunan Pada masa ini, anda boleh menggunakan beberapa fungsi yang disediakan oleh PHP untuk mencapai ini.

PHP menyediakan dua fungsi untuk mengira jumlah nilai dalam tatasusunan: array_sum() dan array_reduce().

Fungsi array_sum() digunakan untuk mengira jumlah semua nombor dalam tatasusunan, manakala fungsi array_reduce() digunakan untuk lelaran nilai-nilai dalam tatasusunan, mengumpulnya mengikut fungsi panggil balik , dan akhirnya mengembalikan hasil terkumpul.

Untuk pengiraan mudah, fungsi array_sum() adalah yang paling mudah. Sebagai contoh, contoh berikut menambah semua nilai dalam tatasusunan yang mengandungi nombor:

$numbers = array(1, 2, 3, 4, 5);
$total = array_sum($numbers);
echo 'The total is: ' . $total;
Salin selepas log masuk

Output:

The total is: 15
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, $numbers ialah tatasusunan yang mengandungi nombor 1 hingga 5 . Kemudian, gunakan fungsi array_sum() untuk mengira jumlah semua nombor dalam tatasusunan, menangkap keputusan dalam pembolehubah $total, dan akhirnya mengeluarkan hasilnya.

Jika tatasusunan mengandungi nilai bukan angka, nilai tersebut diabaikan. Sebagai contoh, dalam contoh berikut, walaupun tatasusunan mengandungi rentetan 'hello' yang bukan nombor, ia akan diabaikan dan tidak akan menjejaskan hasil pengiraan:

$numbers = array(1, 'hello', 2, 3, 4, 5);
$total = array_sum($numbers);
echo 'The total is: ' . $total;
Salin selepas log masuk

Output:

The total is: 15
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

jika Untuk mengira jumlah semua nombor dalam tatasusunan berbilang dimensi, anda boleh menggunakan fungsi array_walk_recursive(). Sebagai contoh, contoh berikut menambah semua nombor dalam tatasusunan berbilang dimensi:

$data = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(
        array(7, 8),
        array(9, 10)
    )
);

$total = 0;
array_walk_recursive($data, function ($value) use (&$total) {
    $total += $value;
});

echo 'The total is: ' . $total;
Salin selepas log masuk

Output:

The total is: 55
Salin selepas log masuk

Dalam kod di atas, $data ialah tatasusunan yang mengandungi tatasusunan berbilang dimensi. Kemudian, menggunakan fungsi array_walk_recursive(), setiap nombor dalam tatasusunan dihantar ke fungsi tanpa nama, di mana ia terkumpul. Akhirnya, hasilnya disimpan dalam pembolehubah $total dan hasilnya adalah output.

Selain menggunakan fungsi array_sum() dan fungsi array_reduce(), kita juga boleh menggunakan gelung untuk mengira jumlah semua nombor dalam tatasusunan. Berikut ialah contoh menggunakan gelung foreach:

$numbers = array(1, 2, 3, 4, 5);
$total = 0;

foreach ($numbers as $number) {
    $total += $number;
}

echo 'The total is: ' . $total;
Salin selepas log masuk

Output:

The total is: 15
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, gelung itu berulang melalui semua nilai ​​​​dalam array $numbers dan menambah setiap nilai ke Dalam pembolehubah $total, hasil akhir ialah output.

Secara umum, mengira jumlah semua nombor dalam tatasusunan adalah keperluan yang sangat asas PHP menyediakan pelbagai cara untuk menyelesaikan tugasan ini.

Atas ialah kandungan terperinci php jumlah nilai tatasusunan. 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