2013-01-10 20 views
0

要合并如何合并到保存键的数组?

array(
2 => 'a' 
3 => 'b' 
); 

array(
7 => 'c' 
9 => 'd' 
); 

得到

array(
2 => 'a' 
3 => 'b' 
7 => 'c' 
9 => 'd' 
); 

array_merge()给我

array(
0 => 'a' 
1 => 'b' 
2 => 'c' 
3 => 'd' 
); 
+1

如果两个数组具有相同的密钥,该怎么办? –

回答

6

简单,你可以做升IKE这 -

$result = $array1 + $array2; 

简单exapmle

$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a'); 
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b'); 
$result = $array1 + $array2; 
var_dump($result); 

输出

array(5) { 
    [0]=> 
    string(6) "zero_a" 
    [2]=> 
    string(5) "two_a" 
    [3]=> 
    string(7) "three_a" 
    [1]=> 
    string(5) "one_b" 
    [4]=> 
    string(6) "four_b" 
} 
+0

!好好! –

+2

如果两个数组具有相同的密钥,该怎么办? –

+0

@BhavikShah它将删除第二个数组值并只保留第一个值。 –

0

您可以简单地添加阵列:$myArray1 + $myArray2;

+0

我知道它会使用相同的键删除第二个元素,这将是一个问题。不是吗? –

+0

@BhavikShah我同意你的意见。 –

0

使用数组操作者异口同声: “+”

<?php 

$foo = array(
2 => 'a', 
3 => 'b' 
); 

$bar = array(
7 => 'c', 
9 => 'd' 
); 

$result = $foo + $bar; 

print_r($result); 
0

$ array1 + $ array2;

是我的选择,它运作良好。