所以我说我有
[2] = abc
[5] = cde
我有
[32] = fge
[13] = def
我想将这两者合并在一起,维护唯一的密钥。
下面是关于当前合并行为的解释..任何解决方法?
“如果所有数组只包含数字键,则结果数组从零开始递增键。”
答案 0 :(得分:16)
尝试使用+
运算符。
$one = array(2 => 'abc', 5 => 'cde');
$two = array(32 => 'fge', 13 => 'def');
$three = $one + $two;
$three
现在看起来应该是这样的:
[2] = abc
[5] = cde
[32] = fge
[13] = def
答案 1 :(得分:6)
如果要将数组与数字键合并,请保留键并覆盖第一个数组中第二个项目中的项目:
$a = array(0 => "a", 1 => "b");
$b = array(1 => "c", 5 => "d");
var_dump(array_diff_key($a, $b) + $b);
将产生:
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "c"
[5]=>
string(1) "d"
}
答案 2 :(得分:2)
尝试array union operator +
。
答案 3 :(得分:1)
$result = array(2 => 'abc', 5 => 'cde') + array(32 => 'fge', 13 => 'def');
print_r($result);
答案 4 :(得分:0)
试试这个:
$arr1 = array();
$arr2 = array();
$arrmerge = array();
array_push($arr, $arr1, $arr2);
希望它有效!