PHP |查找两个数组的交集
给你两个包含 n 个元素的数组。您必须找到两个元素的所有公共元素,而不使用PHP中的任何循环并打印结果的公共元素数组。
例子:
Input : array1[] = {3, 5, 2, 7, 9},
array2[] = {4, 3, 2, 7, 8}
Output : array (
[0] => 3,
[1] => 2,
[2] => 7)
Input : array1[] = {3, 5, 7},
array2[] = {2, 4, 6}
Output : array (
)
在 C/ Java中,我们必须遍历数组之一,并且对于每个元素,您必须检查它是否存在于第二个数组中。但是PHP提供了一个内置函数(array_intersect()),它返回两个数组的公共元素 (intersect)。
array_intersect($array1, $array2) :返回一个数组,其中包含 array2 中存在的 array1 的所有值。
请注意,密钥是保留的。
注意:由于 array_intersect() 返回带有保留键的数组,我们将使用 array_values() 对键重新排序。
// find intersect of both array
$result = array_intersect($array1, $array2);
// re-order keys
$result = array_values($result);
// print resultant array
print_r($result);
输出:
Array
(
[0] => 2
[1] => 5
[2] => 6
)