📜  PHP |查找两个数组的交集

📅  最后修改于: 2022-05-13 01:56:23.664000             🧑  作者: Mango

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
)