2017-08-11 73 views
-5

如何通过键添加数组元素?提前致谢! 请在以下如何求和关联数组的值?

(
    [2] => Array 
     (
      [addition_price] => Array 
       (
        [0] => 0 
        [1] => 40 
        [2] => 40 
       ) 

    ) 

[3] => Array 
    (
     [addition_price] => Array 
      (
       [0] => 100 
      ) 

    ) 

) 

期望的结果的代码片断:

[2] = 0 + 40 + 40 = 80

[3] = 100

+3

我们希望你尝试自己**编写代码**。在[做研究]之后(https://meta.stackoverflow.com/questions/261592),以及**发布你已经尝试过的**,并明确说明**不工作**并提供[最小,完整和可验证](https://stackoverflow.com/help/mcve)示例。我建议阅读[如何提出一个好问题](https://stackoverflow.com/questions/how-to-ask)。另外,一定要参加[tour](https://stackoverflow.com/tour)。 – GrumpyCrouton

+0

[在多维php数组中求和值]的可能重复(https://stackoverflow.com/questions/23482452/sum-up-values-in-multidimensional-php-array) – GrumpyCrouton

回答

-1

尝试这种方式,我希望它的工作原理:

foreach($array as $key => $value){ 
    $sum = 0; 
    foreach($value['addition_price'] as $v){ 
      $sum += $v; 
    } 
    $array[$key] = $sum; 
} 
-2

使用array_sum进行总结,array_map为数组中的每个项目执行此操作

$result = array_map(
    function($a) { return array_sum($a['addition_price']); }, 
    $input 
); 
0

你应该试试这个:

$array = [ 
    0 => [ 
     "addition_price" => [ 
      0, 
      40, 
      40 
     ] 
    ], 
    1 => [ 
     "addition_price" => [ 
      100 
     ] 
    ], 
]; 
foreach ($array as $key=>$value) { 
    if(!empty($value['addition_price']) && is_array($value['addition_price'])){ 
     echo $key. " => " .array_sum($value['addition_price']). "<br>"; 
    } 
}