加入/合并两个数组

时间:2010-04-28 21:02:34

标签: php collections

我有两个这样的数组,实际上这是从两个不同服务器检索的mysql数据:

$array1 = array ( 
                  0 => array ( 'id' => 1, 'name' => 'somename') ,
                  1 => array ( 'id' => 2, 'name' => 'somename2') 
);
$array2 = array ( 
                  0 => array ( 'thdl_id' => 1, 'otherdate' => 'spmethings') ,
                  1 => array ( 'thdl_id' => 2, 'otherdate' => 'spmethings22') 
);

我如何加入/合并数组,看起来像这样

$new_array = array ( 
         0 => array ( 'id' => 1, 'name' => 'somename', 'otherdate' => 'spmethings') ,
         1 => array ( 'id' => 2, 'name' => 'somename2', 'otherdate' => 'spmethings22') 
);

4 个答案:

答案 0 :(得分:2)

类似的东西+如果你想要检查它们的尺寸是否相同..

$res = array()
for ( $i = 0; $i < count($array1); ++$i )
{
  $res[] = array_merge($array1[$i], $array2[$i]);
}

答案 1 :(得分:1)

喜欢INNER JOIN?你必须手动完成。我知道PHP有很多异国情调的功能,但据我所知,没有人做你想做的事。

想想“插入排序”。对两个数组进行排序并遍历它们随时合并行。

答案 2 :(得分:0)

我可能会误解,但这正是你要找的吗?

for ($i = 0; $i < count($array1); $i++){
    $new_array[$i] = array_merge($array1[$i], $array2[$i]);
    unset($new_array[$i]['thdl_id']); //since i'm assuming this is a duplicate of 'id'
}

答案 3 :(得分:0)

$new_array = array($array1, $array2);