为了账号安全,请及时绑定邮箱和手机立即绑定

对 PHP 中多维数组的值求和

对 PHP 中多维数组的值求和

PHP
HUX布斯 2021-08-21 10:03:45
假设我在 PHP 中有这个数组:Array(    [0] => Array        (            [name] => Banana            [quantity] => 124        )    [1] => Array        (            [name] => Cherry            [quantity] => 24        )    [2] => Array        (            [name] => Apple            [quantity] => 224        ))如何将数字与密钥相加quantity?
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

请始终与我们分享您的尝试。


它对我们有很大帮助。


您可以使用:


$arr = [['name' => "Banana", 'quantity' => 124], ['name' => "Cherry", 'quantity' => 24], ['name' => "Apple", 'quantity' => 224]];


$sum = 0;

foreach ($arr as $item) {

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

}

或者(PHP 5.5+):


$sum = array_sum(array_column($arr, 'quantity'));


查看完整回答
反对 回复 2021-08-21
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

/*

    Receives a Multidemensional Array (Matrix) and returns the sum of quantity.

    Returns -1 on fail.

*/

function SumKeyOfArray($Matrix)

{

    if(!empty($Matrix))

    {

        $sum = 0;       

        foreach($Matrix as $array)

        {

            if(isset($array['quantity']))

                $sum = $sum + $array['quantity'];

        }

        return $sum;

    }

    return -1;

}


查看完整回答
反对 回复 2021-08-21
?
开满天机

TA贡献1786条经验 获得超12个赞

另一种选择是使用 reduce 函数:


$arr= [['name' => "Banana", 'quantity' => 124], ['name' => "Cherry", 'quantity' => 24], ['name' => "Apple", 'quantity' => 224]];


echo array_reduce($arr, function($sum, $elem) {

    return $sum += $elem["quantity"];

});


查看完整回答
反对 回复 2021-08-21
  • 3 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信