Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP对数组的objects属性求和_Php_Arrays_Arrayobject - Fatal编程技术网

如何使用PHP对数组的objects属性求和

如何使用PHP对数组的objects属性求和,php,arrays,arrayobject,Php,Arrays,Arrayobject,我有一个对象数组,我想求其中一个属性的值的和 这是我的代码,不起作用 使用下面的函数 $sum = array_reduce($res->intervalStats, function($i, $obj) { return $i += $obj->spent; }); echo $sum; 样本测试 [akshay@localhost tmp]$ cat test.php <?php $res = (object)array( "intervalStats"

我有一个对象数组,我想求其中一个属性的值的和

这是我的代码,不起作用

使用下面的函数

$sum = array_reduce($res->intervalStats, function($i, $obj)
{
    return $i += $obj->spent;
});
echo $sum;
样本测试

 [akshay@localhost tmp]$ cat test.php
 <?php

 $res = (object)array( "intervalStats" => array( (object)array("spent"=>1),(object)array("spent"=>5) ) );


 $sum = array_reduce($res->intervalStats, function($i, $obj)
 {
     return $i += $obj->spent;
 });

 // Input
 print_r($res);

 // Output
 echo $sum;
 ?>
 [akshay@localhost tmp]$ php test.php
 stdClass Object
 (
     [intervalStats] => Array
         (
             [0] => stdClass Object
                 (
                     [spent] => 1
                 )

             [1] => stdClass Object
                 (
                     [spent] => 5
                 )

         )

 )

 6

这适用于最新的PHP版本(在7.2上测试)


$sum=array\u sum(array\u列($res->intervalStats,'spend')

您需要循环
$res->intervalStats
->sent
?也许你的意思是花了->鬼很抱歉它花了…B路…对我不起作用如果孩子们是数组类型的话这就行了。。这里是对象的类型。
 [akshay@localhost tmp]$ cat test.php
 <?php

 $res = (object)array( "intervalStats" => array( (object)array("spent"=>1),(object)array("spent"=>5) ) );


 $sum = array_reduce($res->intervalStats, function($i, $obj)
 {
     return $i += $obj->spent;
 });

 // Input
 print_r($res);

 // Output
 echo $sum;
 ?>
 [akshay@localhost tmp]$ php test.php
 stdClass Object
 (
     [intervalStats] => Array
         (
             [0] => stdClass Object
                 (
                     [spent] => 1
                 )

             [1] => stdClass Object
                 (
                     [spent] => 5
                 )

         )

 )

 6