在PHP中合并和数组值而不是键

时间:2009-09-11 19:51:53

标签: php arrays

我想要组合两个值数组 - 但PHP提供的唯一方法似乎是按键而不是值组合。这是一个我能够用来实现这个工作的黑客,但我想知道是否有更好的方法或我错过的本机功能。自从我上次使用数组以来已经有一段时间了,似乎有一个简单的答案。

//Input arrays that we want to combine into one array
$array = array(2, 3, 4, 5);
$array2 = array(5, 6, 1);

//Flip values and keys
$array = array_flip($array);
$array2 = array_flip($array2);

//Combine array
$array3 = $array2 + $array;

//flip array keys back to values
$array3 = array_keys($array3);

//Optional sort
sort($array3);

print_r($array3);

返回两个数组的组合值:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)

1 个答案:

答案 0 :(得分:4)

不完全确定您要完成的任务。我假设你正在尝试组合2个数组而没有任何重复。如果是这种情况,那么以下内容将起作用

$newarr = array_unique(array_merge($array, $array2));