PHP 求一维、二维数组某个字段数字的和

 2019-08-29 15:45:26   {{zan}}   0   75 

假如是一位数组如:

$arr = [1,3,6];
echo array_sum($arr);

这样会直接输入:10,假如带索引的也是可以如:

$arr = ['a'=>1, 'b'=>3, 6];
echo array_sum($arr);

那么二维数组怎么计算呢?如下:

$arr = [
    [
        'name' => 'name1',
        'num' => 12,
    ],
    [
        'name' => 'name2',
        'num' => 13,
    ],
    [
        'name' => 'name3',
        'num' => 14,
    ],
];

直接可以想到的方法就是循环:

$sum = 0;
foreach ($arr as $num) {
    $sum += (int)$num['num'];
}
echo $sum;

可以的得到数字:39;

当然还有一个方法,使用上面提到的 array_sum() 结合 array_map() 也是可以的:

echo array_sum(array_map(function ($num) {return $num['num'];}, $arr));

得到的结果也是:39。


想要了解更多可以看下PHP官方文档,也可以在下面留言。

本文链接地址:https://caohongyuan.cn/p?id=124

(邮箱不会公开,只会做回复通知用) 提交 清空 {{comment.content}}
Re:{{response.content}}