PHP | Найти пересечение двух массивов
Опубликовано: 24 Февраля, 2022
Вам даны два массива по n элементов в каждом. Вам нужно найти все общие элементы обоих элементов, не используя какой-либо цикл в php, и распечатать получившийся массив общих элементов.
Пример:
Ввод: array1 [] = {3, 5, 2, 7, 9}, array2 [] = {4, 3, 2, 7, 8} Выход: массив ( [0] => 3, [1] => 2, [2] => 7) Ввод: array1 [] = {3, 5, 7}, array2 [] = {2, 4, 6} Выход: массив ( )
В C / Java мы должны пройти по одному из массивов, и для каждого элемента вы должны проверить его присутствие во втором массиве. Но PHP предоставляет встроенную функцию (array_intersect ()), которая возвращает общие элементы (пересекаются) двух массивов.
array_intersect ($ array1, $ array2): возвращает массив, содержащий все значения array1, которые присутствуют в array2.
Обратите внимание, что ключи сохранены.
Note : As array_intersect() returns array with preserved keys, we will use array_values() which will re-order the keys.
// find intersect of both array $result = array_intersect($array1, $array2); // re-order keys $result = array_values($result); // print resultant array print_r($result);
<?php // declare arrays $array1 = array (2, 5, 7, 6, 9); $array2 = array (3, 2, 5, 6, 8); // find intersect of both array $result = array_intersect ( $array1 , $array2 ); // re-order keys $result = array_values ( $result ); // print resultant array print_r( $result ); ?> |
Output:
Array ( [0] => 2 [1] => 5 [2] => 6 )