php二维数组中指定字段怎么求和
时间 : 2023-02-15 21:57:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

php二维数组中指定字段求和,可以使用 array_column 和 array_sum 组合函数来实现。

array_column 函数可以从二维数组中获取某列或某维度的值,比如下面这个二维数组:

$test2 = [

[ 'name' => 'jack', 'age' => 18, 'sex' => 'male' ],

[ 'name' => 'lucy', 'age' => 20, 'sex' => 'female' ]

];

通过 array_column 函数可以获取 age 列的所有值:

$ageArr = array_column($test2, 'age');

所得结果为:

$ageArr = [18, 20]

然后可以使用 array_sum 将得到的数组元素求和:

echo array_sum($ageArr);

最终会得到 38,即两个年龄的总和。

其实不仅仅是 age,可以使用 array_column 函数获取任意一列的值,然后使用 array_sum 来求和,就可以实现php二维数组中指定字段求和的功能。

php二维数组中指定字段求和,用于总结数据,统计各项指标总量,比如总收入,总利润,总订单等。

首先了解什么是php二维数组?二维数组是一种结构化的、有层次感的数据结构。它按行、列存储数据,可以将多行多列的数据存在一个数据表中,每一行数据占据一个格子,比如二维数组中有几列,那么每一行就是一个单元,所以二维数组也叫单元矩阵。

有些时候,我们可能还需要获取每一列中某一项数据的和总值,php有相应的函数去实现这个功能,array_sum()函数可以将二维数组中指定字段的数值相加求和,它的使用方法是将参数传入二维数组和指定字段即可:

$arr = array(

array('name' => 'zhangsan', 'price' => 20),

array('name' => 'lisi', 'price' => 30),

array('name' => 'wangwu', 'price' => 40)

);

$price = array_sum( array_column( $arr, 'price' ) ); //获取price字段的总和

echo $price; //90

另外一个求和的函数是array_reduce(),它可以将数组中的多个值累加到一个变量中。它接收四个参数:第一个是函数,第二个是初始值,第三个是数组,第四个是函数调用的次数。

例如:

$arr = array(

array('name' => 'zhangsan', 'price' => 20),

array('name' => 'lisi', 'price' => 30),

array('name' => 'wangwu', 'price' => 40)

);

$total = array_reduce($arr,function($sum,$item){

$sum += $item['price'];

return $sum;

});

echo $total; //90

总结:php二维数组中求和指定字段,可以使用array_sum()或array_reduce()函数,传入二维数组和字段名即可求出