从PHP中的JSON文件求和

时间:2019-02-19 10:37:42

标签: php arrays

我有一个如下所示的JSON文件:

{ path: '/something', params: { foo: 'bar'}}

我需要我的脚本来打印这些数字的总和,这是我尝试过的:

[{
    "num": "37"
}, {
    "num": "79"
}, {
    "num": "21"
}, {

    "num": "12"
}, {
    "num": "90"
}]

但是我得到了错误:

  

注意:未定义的索引:第32行的C:\ xampp \ htdocs \ index.php中的数字

     

警告:为中的foreach()提供了无效的参数   C:\ xampp \ htdocs \ index.php在第32行

我被困在这里,找不到解决方案。有人可以帮我吗?

3 个答案:

答案 0 :(得分:4)

我会

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

但这只是我...

结果

239

Sandbox

Array列,吸收“ key”(在这种情况下为'num')的所有值,并创建一个像这样的数组:

   ["37", "79", ...]

然后是“数组和”,将为您提供数字数组的和。

答案 1 :(得分:1)

如果不确定数组的形状和内容,则应始终从数组的print_r()开始。

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

答案 2 :(得分:0)

  • 您可以使用函数array_sum
  • php版本,其中:PHP 5> = 5.5.0
$sum = array_sum(array_column($elementi, 'num'));