例如,我在PHP中有两个数组:
$arr1 = array(1,3,5);
$arr2 = array(1,4,6);
我想创建两个新数组,每个数组包含每个数组唯一的元素。所以我想将以下两个数组作为输出:
$arr1_uniques = array(3,5);
$arr2_uniques = array(4,6);
实现这一目标的最佳方式是什么?
答案 0 :(得分:6)
使用array_diff()
从另一个数组中减去每个数组,如下所示:
$arr1_uniques = array_diff($arr1, $arr2);
$arr2_uniques = array_diff($arr2, $arr1);
答案 1 :(得分:2)
$arr1_uniques = array_diff($arr1, $arr2);
$arr2_uniques = array_diff($arr2, $arr1);
答案 2 :(得分:0)
您可以使用array_diff功能来解决此问题。你必须使用它两次才能得到你想要的结果。
答案 3 :(得分:0)
您可以编写自己的功能。例如:
function uniq(array $arr){
$temp_arr = [];
for ($i = 0; $i < sizeof($arr); $i++) {
if (in_array($arr[$i], $temp_arr)) {
continue;
}
$temp_arr[] = $arr[$i];
}
return $temp_arr;
}
print_r(uniq([1, 2, 3, 6, 6, 6, 7, 8, 7, 2, 2, 3, 6, 7, 0, 12, 123, 1, 4, 7, 66, 77]));
///Output: Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 6
[4] => 7
[5] => 8
[6] => 0
[7] => 12
[8] => 123
[9] => 4
[10] => 66
[11] => 77
)