Php 获取数组中数组的和

Php 获取数组中数组的和,php,laravel,Php,Laravel,如何得到这些数组的和 $arrays = [[0, 176000], [0,500], [0, 3960000]]; 输出应为: $arrays = [0, 4136500]; 非常感谢您的帮助。对于第一个数组映射使用可变参数和空回调: 在Larevel中,您可以使用。例如: $a = collect([[0, 176000], [0,500], [0, 3960000]]); $b = new Collection; foreach ($a as $k =>

如何得到这些数组的和

$arrays = [[0, 176000], [0,500], [0, 3960000]];
输出应为:

$arrays = [0, 4136500];

非常感谢您的帮助。

对于第一个数组映射使用可变参数和空回调:

在Larevel中,您可以使用。例如:

    $a = collect([[0, 176000], [0,500], [0, 3960000]]);
    $b = new Collection;
    foreach ($a as $k => $e) {
        $b->push ( $a->pluck($k)->sum() );
    }

    $c = $b->take(2); // Result is going to be here

这是使用本机方式,但我认为需要返工

<?php
$arrays = [[0, 176000], [0,500], [0, 3960000]];
$new_arrays = [];
foreach ($arrays as $key => $val) {
  $new_arrays[0] += $val[0];
  $new_arrays[1] += $val[1];
}
print_r($new_arrays);

如果没有钥匙可供追踪,U_mulders的答案就会起作用

如果有关联数组,则需要循环数组并生成添加值,如:

$arrays = [[0,"A" => 176000], [0, "b" => 500], [0, 3960000, 200], [10, 500, 200]];

foreach($arrays as $sub){
    foreach($sub as $key => $num){
        if(!isset($new[$key])) $new[$key] =0;
        $new[$key] += $num;
    }
}
var_dump($new);
输出:

array(5) {
  [0]=>
  int(10)
  ["A"]=>
  int(176000)
  ["b"]=>
  int(500)
  [1]=>
  int(3960500)
  [2]=>
  int(400)
}

您的数组错误,否则您的输出不正确!“错”是什么意思?是数组中的元素分隔符。数字不使用它。好的,已经更新了我的数组。到目前为止你尝试了什么?我得到了这个错误:数组\u sum期望参数1是数组,整数given@u_mulder我使用了return而不是print_r。因为@Nick提供了一个工作小提琴,那么我想您向我们显示了不正确的数据,或者错误地应用了我的代码。谢谢。但是我得到了3件物品[04136500,0]。它应该是[04136500],但是$b->take2将是动态的,我可以接受3在您的情况下尝试使用$c=$b->take$e->count;在循环中,$e超出范围?谢谢。我这样认为是因为数组索引应该是动态的。你能更具体地说明你想要实现什么吗@Jearson$ilubis如果我有[[0176000200]]怎么办?是的,mulder的答案对于本机php是正确的,但是对于laravel中的集合,转换为数组则不正确working@Jearson你在转换什么?你的问题没有提到转换
array(5) {
  [0]=>
  int(10)
  ["A"]=>
  int(176000)
  ["b"]=>
  int(500)
  [1]=>
  int(3960500)
  [2]=>
  int(400)
}