Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjumlahkan setiap elemen dalam tatasusunan dalam php

Bagaimana untuk menjumlahkan setiap elemen dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 09:13:13564semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas, terutamanya dalam bidang pembangunan aplikasi web. Dalam PHP, tatasusunan dua dimensi ialah salah satu jenis data yang kerap digunakan. Apabila berurusan dengan tatasusunan dua dimensi, kadangkala kita perlu menjumlahkan setiap elemen dalam tatasusunan. Artikel ini akan memperkenalkan cara untuk mencapai matlamat ini menggunakan tatasusunan.

Pertama, kita perlu memahami komposisi tatasusunan dua dimensi. Dalam PHP, tatasusunan dua dimensi terdiri daripada tatasusunan utama dan berbilang subarray. Setiap subarray terdiri daripada berbilang elemen (iaitu, nilai). Kita boleh mentakrifkan tatasusunan dua dimensi yang mudah dengan cara berikut:

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

Tatasusunan ini terdiri daripada 3 tatasusunan, setiap tatasusunan mengandungi 3 elemen. Sekarang kita perlu menambah semua elemen dalam tatasusunan ini untuk mendapatkan jumlah. Mula-mula, kita boleh menggunakan gelung for untuk lelaran melalui tatasusunan dan kemudian tambahkan setiap elemen:

$total = 0;        // 定义一个变量用于存储总和
for($i=0; $i<count($arr); $i++) {
    for($j=0; $j<count($arr[$i]); $j++) {
        $total += $arr[$i][$j];
    }
}
echo "总和为:" . $total;

Dalam contoh ini, kita menggunakan dua tahap gelung bersarang untuk lelaran melalui setiap sub-tatasusunan dan elemennya . Dalam gelung, kami menggunakan pembolehubah $total untuk menyimpan jumlah semua elemen. Akhirnya, kami mengeluarkan hasilnya ke skrin.

Selain menggunakan gelung for, kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan. Kaedah ini lebih intuitif dan mudah, dan sesuai untuk memproses tatasusunan dua dimensi yang agak besar. Kita boleh menggunakan dua gelung foreach untuk mengulangi elemen dalam tatasusunan utama dan subtatasusunan.

$total = 0;        // 定义一个变量用于存储总和
foreach($arr as $sub_arr) {
    foreach($sub_arr as $value) {
        $total += $value;
    }
}
echo "总和为:" . $total;

Dalam contoh ini, kami menggunakan dua gelung foreach untuk mengulangi elemen dalam tatasusunan utama dan subtatasusunan. Sekali lagi, kami menggunakan pembolehubah $total untuk menyimpan jumlah semua elemen dan mengeluarkan hasilnya ke skrin.

Selain daripada dua kaedah di atas, kami juga boleh menggunakan fungsi terbina dalam PHP array_reduce untuk mencapai matlamat ini. Fungsi fungsi ini adalah untuk mengumpul semua elemen dalam tatasusunan dan mengembalikan hasil akhir. Kita boleh menggunakan fungsi array_reduce dan fungsi tanpa nama untuk melaksanakan jumlah elemen tatasusunan dua dimensi.

$total = array_reduce($arr, function($carry, $item) {
    $carry += array_sum($item);
    return $carry;
}, 0);
echo "总和为:" . $total;

Dalam contoh ini, kami menghantar tatasusunan 2D sebagai hujah pertama kepada fungsi array_reduce. Parameter kedua ialah fungsi tanpa nama (atau fungsi sedia ada) yang beroperasi pada setiap elemen dalam tatasusunan. Di dalam fungsi, kami menggunakan fungsi terbina dalam array_sum untuk menjumlahkan elemen dalam subarray. Akhir sekali, kami mengembalikan nilai pembolehubah $carry, yang digunakan untuk menyimpan jumlah semua elemen. Parameter ketiga ialah nilai awal hasil.

Ringkasnya, dalam PHP, kita boleh menggunakan fungsi gelung, foreach dan array_reduce untuk melaksanakan penjumlahan elemen dalam tatasusunan dua dimensi. Kaedah yang berbeza mempunyai kebolehgunaan, kelebihan dan kekurangan yang berbeza dalam situasi yang berbeza. Melalui penggunaan dan pemahaman kaedah ini, kami boleh mengendalikan tatasusunan dua dimensi dengan lebih baik dan melaksanakan operasi yang lebih kompleks.

Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan setiap elemen dalam 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