How to sum all column values in multi-dimensional array?

后端 未结 20 2829
花落未央
花落未央 2020-11-22 00:57

How can I add all the columnar values by associative key? Note that key sets are dynamic.

Input array:

Arr         


        
20条回答
  •  余生分开走
    2020-11-22 01:33

    It can also be done using array_walk:

    function array_sum_values(array $input, $key) {
       $sum = 0;
       array_walk($input, function($item, $index, $params) {
             if (!empty($item[$params[1]]))
                $params[0] += $item[$params[1]];
          }, array(&$sum, $key)
       );
       return $sum;
    }
    
    var_dump(array_sum_values($arr, 'gozhi'));
    

    Not so readable like previous solutions but it works :)

提交回复
热议问题