合并两个平面数组并删除重复项

问题描述 投票:0回答:1

我有两个值数组想要组合 - 但 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
)
php arrays merge unique
1个回答
4
投票

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

$newarr = array_unique(array_merge($array, $array2));
© www.soinside.com 2019 - 2024. All rights reserved.