Tidak mungkin hanya menggunakan array_sum() untuk menjumlahkan tatasusunan dua dimensi dalam PHP, kerana fungsi array_sum() hanya memproses tatasusunan satu dimensi jika anda ingin menggunakan array_sum() untuk melaksanakan dua-; jumlah tatasusunan dimensi, anda juga perlu menggunakan setiap Penyata, sintaks "$sum=0;foreach($arr sebagai $v){if(is_array($v)){$sum =array_sum($v);}else{$ jumlah =$v;}}".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Hanya array_sum digunakan untuk php tatasusunan dua dimensi () tidak boleh dijumlahkan.
Punca: Fungsi array_sum() hanya memproses tatasusunan satu dimensi dan tidak sah untuk tatasusunan berbilang dimensi.
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); var_dump($arr); $sum=array_sum($arr); echo "二维数组的和为:".$sum; ?>
Hasil pengiraan jelas salah. Ia hanya mengira jumlah unsur luar.
Jadi bagaimana untuk menggunakan fungsi array_sum() untuk mengira jumlah elemen tatasusunan dua dimensi?
Penyelesaian: array_sum() function foreach statement
Sum step
Langkah 1 , gunakan pernyataan foreach untuk menggelung melalui elemen tatasusunan luar tatasusunan dua dimensi
foreach($arr as $v){ //循环体代码 }
untuk melintasi tatasusunan $arr yang diberikan dan menukar tatasusunan luar semasa dalam setiap gelung Nilai tatasusunan diberikan kepada $v.
Langkah 2. Dalam badan gelung, gunakan fungsi is_array() untuk menentukan sama ada elemen luar ialah jenis tatasusunan dan gunakan operator "=" untuk menjumlahkan
Jika ia bukan jenis tatasusunan, tambah dan jumlahkan elemen luar yang bukan
Jika ia adalah jenis tatasusunan, gunakan fungsi array_sum() untuk mengira Jumlah semua elemen dalam tatasusunan dalam ditambah kepada jumlah elemen luar.
if(is_array($v)){ $sum+=array_sum($v); }else{ $sum+=$v; }
Kod pelaksanaan:
function f($arr){ $sum=0; foreach($arr as $v){ if(is_array($v)){ $sum+=array_sum($v); }else{ $sum+=$v; } } echo "二维数组的和为:".$sum."<br>"; }
Panggil fungsi di atas
$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); var_dump($arr); f($arr);
$arr = array(array(2,4,6),array(8,10,12)); var_dump($arr); f($arr);
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!