我想合并这两个数组,只获取唯一的键值。这有一个PHP功能吗? array_merge()不起作用。
Array
(
[1] => 3
[2] => 4
[3] => 1
)
Array
(
[1] => 3
[2] => 1
[3] => 2
)
结果阵列我想要
Array
(
[1] => 1
[2] => 2
[3] => 3
[4] => 4
)
答案 0 :(得分:4)
$values = array_unique(array_merge($array1, $array2));
sort($values);
这将返回array1和array2中的唯一值(根据您的示例)。
答案 1 :(得分:3)
$merged = array_unique(array_merge($array1, $array2));
答案 2 :(得分:1)
以下代码可以提供您想要的内容,但问题是您真的希望结果中的键从1开始而不是0吗?如果你不是Arnaud,他的选择是最好的解决方案。
$array1 = array(
1 => 3,
2 => 4,
3 => 1
);
$array2 = array(
1 => 3,
2 => 1,
3 => 2
);
$values = array_unique(array_merge($array1, $array2));
$keys = array_keys(array_fill_keys($values, ''));
$result = array_combine($keys, $values);
asort($result);
var_dump($result);
答案 3 :(得分:0)
试试这个:
$merged = array_unique(array_merge($array1, $array2));