从两个或更多阵列获得罕见值 [英] Get uncommon values from two or more arrays
本文介绍了从两个或更多阵列获得罕见值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有任何PHP函数,这将给罕见值的数组由两个或两个以上的阵列?
例如:
$ ARRAY1 =阵列(绿色,红,蓝);
$数组2 =阵列(绿,黄,红);
....
$结果= Function_Needed($数组1,$数组2,...);
的print_r($结果);
应该给输出:
阵列(蓝,黄,...);
解决方案
使用 和array_diff
和 array_merge
:
$结果= array_merge(和array_diff($数组1,$数组2),和array_diff($数组2,$数组1));
有关多个阵列,具有回调结合起来,并 array_reduce
一>:
函数唯一(放; $ A,$ B){
返回$一个? array_merge(和array_diff($ A,$ B),和array_diff($ B $ A)):$ B;
}$阵列=阵列(
阵列('绿','红','蓝'),
阵列('绿','黄','红')
);$结果= array_reduce($阵列,独一无二);
Is there any function in PHP which will give an array of uncommon values from two or more arrays?
For example:
$array1 = array( "green", "red", "blue");
$array2 = array( "green", "yellow", "red");
....
$result = Function_Needed($array1, $array2,...);
print_r($result);
Should give the output:
array("blue", "yellow", ...);
解决方案
Use array_diff
and array_merge
:
$result = array_merge(array_diff($array1, $array2), array_diff($array2, $array1));
For multiple arrays, combine it with a callback and array_reduce
:
function unique(&$a, $b) {
return $a ? array_merge(array_diff($a, $b), array_diff($b, $a)) : $b;
}
$arrays = array(
array('green', 'red', 'blue'),
array('green', 'yellow', 'red')
);
$result = array_reduce($arrays, 'unique');
这篇关于从两个或更多阵列获得罕见值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文