How can I sum objects property of an array using PHP

后端 未结 3 2018
被撕碎了的回忆
被撕碎了的回忆 2021-01-06 16:45

I have an array of objects, and i want to sum value of one of the property.Here is a picture which will show the structre of array.

3条回答
  •  清歌不尽
    2021-01-06 17:40

    Make use of array_reduce function like below

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

    Sample Test

     [akshay@localhost tmp]$ cat test.php
      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;
     ?>
    

    Output

     [akshay@localhost tmp]$ php test.php
     stdClass Object
     (
         [intervalStats] => Array
             (
                 [0] => stdClass Object
                     (
                         [spent] => 1
                     )
    
                 [1] => stdClass Object
                     (
                         [spent] => 5
                     )
    
             )
    
     )
    
     6
    

提交回复
热议问题