将PHP数组中的所有int()值相加

将PHP数组中的所有int()值相加,php,arrays,json,int,Php,Arrays,Json,Int,我用JSON\u decode()解析了一个JSON文件,它将JSON文件的内容输出为一个数组,这是数据输出的一个示例: array(1) { ["petition"]=> array(2) { ["postal_districts"]=> array(2257) { ["DH4"]=> int(12) ["BT5"]=> int(14)

我用
JSON\u decode()
解析了一个JSON文件,它将JSON文件的内容输出为一个数组,这是数据输出的一个示例:

array(1) {
  ["petition"]=>
    array(2) {
      ["postal_districts"]=>
        array(2257) {
          ["DH4"]=>
          int(12)
          ["BT5"]=>
          int(14)
          ["WA9"]=>
          int(72)
          ["EH17"]=>
          int(5)
       }
    }
}
我想将“postal_districts”下的所有
int()
值相加,但目前我不知道如何实现这一点

非常感谢您的帮助

$sum = 0;
foreach($array['petition']['postal_districts'] as $val)
    $sum += $val;
echo $sum;

你是认真的吗?

如果它们都是整数,你可以试试:

$sum = array_sum($arr['petition']['postal_districts']);
(查看是否有帮助)

如果不是,请先过滤它们:

$ints = array_filter($arr['petition']['postal_districts'], 'is_int');
$sum = array_sum($ints);

如果数组的值是混合的,您可以使用
is_int
is_numeric
进行检测,具体取决于…@prodigitalson I,但用户没有指定所有值都是整数或混合的。我建议用整数,我知道。。。那句话对他比对你更有利。根据给出的信息,您的答案是正确的。可能是重复的!非常感谢:)