使用PHP在多个数组中查找公共值
我需要在多个数组中找到公共值。数组的数量可能是无限的。 示例(从打印输出) 现在,我需要找到所有3个(或更多,如果可用)上的通用值。。。。我该怎么做 Thanx 如果你不知道你有多少个数组,那么建立一个数组和用户使用PHP在多个数组中查找公共值,php,arrays,Php,Arrays,我需要在多个数组中找到公共值。数组的数量可能是无限的。 示例(从打印输出) 现在,我需要找到所有3个(或更多,如果可用)上的通用值。。。。我该怎么做 Thanx 如果你不知道你有多少个数组,那么建立一个数组和用户 只是为了好玩:这三个数组中没有公共元素。嗨,我想array_intersect只会检查第一个数组和其他数组,或者我从手册中理解了什么错误。。。现在尝试…确实如此,请对照所有其他数组检查第一个数组。根据您的描述,您需要所有传递的数组中的条目。这就是array_intersect所做的。如
只是为了好玩:这三个数组中没有公共元素。嗨,我想array_intersect只会检查第一个数组和其他数组,或者我从手册中理解了什么错误。。。现在尝试…确实如此,请对照所有其他数组检查第一个数组。根据您的描述,您需要所有传递的数组中的条目。这就是array_intersect所做的。如果一个条目不在第一个数组中,它并不关心它是否在其他数组中。如果第一个数组中有801个条目,而第三个数组中有801个条目被删除了呢??数组_intersect()仍将返回801,它是所有数组中的公共元素??如果从第三个数组中删除801,则它不再是所有数组中的公共元素为简单起见,要在返回的数组中,所有3个数组中都必须存在一个值。。。
Array1
(
[0] => 118
[1] => 802
[2] => 800
)
Array2
(
[0] => 765
[1] => 801
)
Array3
(
[0] => 765
[1] => 794
[2] => 793
[3] => 792
[4] => 791
[5] => 799
[6] => 801
[7] => 802
[8] => 800
)
$intersect = array_intersect($array1,$array2,$array3);
$list = array();
$list[] = $array1;
$list[] = $array2;
$list[] = $array3;
$intersect = call_user_func_array('array_intersect',$list);