php array_intersect()函数用于查找两个或多个数组之间的公共元素。该函数返回一个数组,其中包含了所有在输入数组中都存在的元素。
使用方法
该函数有两种使用方法,一种是传入多个数组,另一种是传入一个数组,其中包含多个数组。
//传入多个数组
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
//输出结果
Array
(
[a] => green
[0] => red
)
//传入一个数组,其中包含多个数组
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$array3 = array("a" => "green", "b" => "yellow", "blue", "red");
$result = array_intersect($array1, $array2, $array3);
print_r($result);
//输出结果
Array
(
[a] => green
[0] => red
)
从上面的例子可以看出,array_intersect()函数返回的是输入数组中都存在的元素,而不是其中的一个数组。
array_intersect()函数也支持多维数组,只要输入的数组中的所有元素都存在,就会返回该元素。
$array1 = array("a" => array("green", "red"), "b" => array("green", "yellow"), "c" => array("blue", "red"));
$array2 = array("a" => array("green", "yellow"), "b" => array("green", "yellow"), "c" => array("blue", "red"));
$result = array_intersect($array1, $array2);
print_r($result);
//输出结果
Array
(
[a] => Array
(
[0] => green
[1] => red
)
[b] => Array
(
[0] => green
[1] => yellow
)
[c] => Array
(
[0] => blue
[1] => red
)
)
array_intersect()函数还支持比较回调函数,可以用来比较输入数组中的元素。
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");
$result = array_intersect($array1, $array2, "strcasecmp");
print_r($result);
//输出结果
Array
(
[a] => green
[b] => brown
[0] => red
)
php array_intersect()函数可以用来查找两个或多个数组之间的公共元素,可以比较多维数组和使用回调函数来比较元素。