Rumah > pembangunan bahagian belakang > masalah PHP > Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

青灯夜游
Lepaskan: 2023-03-16 21:02:02
asal
2293 orang telah melayarinya

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;}}".

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

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;
?>
Salin selepas log masuk

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

Hasil pengiraan jelas salah. Ia hanya mengira jumlah unsur luar.

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

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){
//循环体代码
}
Salin selepas log masuk
  • 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;
}
Salin selepas log masuk

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>";
}
Salin selepas log masuk

Panggil fungsi di atas

$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); 
var_dump($arr);
f($arr);
Salin selepas log masuk

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

$arr = array(array(2,4,6),array(8,10,12)); 
var_dump($arr);
f($arr);
Salin selepas log masuk

Adakah anda menggunakan array_sum untuk menjumlahkan tatasusunan dua dimensi dalam PHP?

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!

Label berkaitan:
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