合并两个数组,但不像array_merge

时间:2012-06-08 21:57:16

标签: php

我在php中有两个数组,都有7天的日期值。每个都一样。数组的其余内容有所不同。他们看起来有点像这样:

数组#1:

 [0]
    [date] => 2012-05-01
    [value 1] => 3

数组#2:

 [0]
    [date] => 2012-05-01
    [value 2] => 3

我想合并它们来获得这个:

 [0]
    [date] => 2012-05-01
    [value 1] => 3
    [value 2] => 3

现在我正在使用这个slop:

$i = 0;
$full_array = array();
foreach ($array_1 as $a) {
    foreach ($array_2 as $b) {
        if ($a['date'] == $b['date']) {
            $full_array[$i] = $a;
            $full_array[$i] += $b;
            $i++;
        }
    }
}

我可以把那个人变成一个功能但在我做之前我想我会检查是否有更好的方法。谢谢!

1 个答案:

答案 0 :(得分:2)

正如评论所述,您可以使用array_merge()。但是你将循环外部数组以使其工作,这最好用for循环来完成,这样你就可以同时引用它们:

for ($i = 0, $len = count($array_1), $full_array = array(); $i < $len; $i++) {
  $full_array[$i] = array_merge($array_1[$i], $array_2[$i]);
}