首页 > 解决方案 > 组合和添加数组

问题描述

我有两个数组:第一个:

[0] => 1, 
[1] => 2, 
[2] => 1, 
[3] => 2

第二:

Array ( 
    [0] => Array ( 
        [0] => 1 
        [1] => 2 
    ) 
    [1] => Array ( 
        [0] => 3 
        [1] => 4 
    ) 
    [2] => Array ( 
        [0] => 1 
        [1] => 2 
    ) 
    [3] => Array ( 
        [0] => 3 
        [1] => 4 
    ) 
)

所以我需要从第一个数组中选择值并将它们插入到第二个数组的键中,它应该如下所示:

Array ( 
    [1] => Array ( 
        [0] => 1 
        [1] => 2 
    ) 
    [2] => Array ( 
        [0] => 3 
        [1] => 4 
    ) 
    [1] => Array ( 
        [0] => 1 
        [1] => 2 
    ) 
    [2] => Array ( 
        [0] => 3 
        [1] => 4 
    ) 
)

最后我需要使最后一个数组看起来像这样:

Array ( 
    [1] => Array ( 
        [0] => 2 
        [1] => 4 
    ) 
    [2] => Array ( 
        [0] => 6 
        [1] => 8 
    )
)

你能帮我吗:我该怎么做?谢谢你

标签: phparrays

解决方案


所以基本上你想要相同索引值的总和,如果我没记错的话。

$first = [1,2,1,2];
$second = [[1,2],[3,4],[1,2], [3,4]];

$final = [];

foreach($first as $key => $value)
{
  if(isset($final[$value]))
    {
      foreach($final[$value] as $k => $v)
            {
              $final[$value][$k] += $second[$key][$k];
            }
    }
  else
    {
      $final[$value] = $second[$key];
    }
}


echo "<pre>";
var_dump($final);

推荐阅读