Не срабатывает array_intersect?

0

Раздел №39, не срабатывает функция array_intersect.

Не срабатывает поиск совпадений больше чем по одному массиву, хотя в документации пишется что можно использовать больше.

$arr = array_intersect($arr0, $arr1,);            //так работает
$arr = array_intersect($arr0, $arr2,);            //так работает
$arr = array_intersect($arr0, $arr1, $arr2);//так не работает

Листинг

<?php
                echo"<span><mark>array_combine \$result = array_intersect(\$array1, \$array2);</mark> - Формирует массив из тех элементов первого заданного массива, которые <mark>ПРИСУТСТВУЮТ</mark> в остальных заданных в качестве аргументов функции массива</span><br>";
                $arr = [];                                                                                //массив для вывода результата
                $arr0 = array("aaa", "111", "fff", "666");                                                //массив искомых значений
                $arr1 = array("aaa", "bbb", "ccc", "ddd", "eee", "111", "222", "333", "444", "555");    //1й массив в котором ищут совпадения
                $arr2 = array("fff", "ggg", "hhh", "iii", "jjj", "666", "777", "888", "999", "000");    //2й массив в котором ищут совпадения

                $arr = array_intersect($arr0, $arr1,);        //так работает
                //$arr = array_intersect($arr0, $arr2,);        //так работает
                //$arr = array_intersect($arr0, $arr1, $arr2);//так не работает
                

                echo "<span> \$arr </span>";    //распечатываем массив
                echo "<pre>";
                print_r($arr);
                echo "</pre>";

                echo "<span> \$arr0 </span>";    //распечатываем массив
                echo "<pre>";
                print_r($arr0);
                echo "</pre>";

                echo "<span> \$arr1 </span>";    //распечатываем массив
                echo "<pre>";
                print_r($arr1);
                echo "</pre>";

                echo "<span> \$arr2 </span>";    //распечатываем массив
                echo "<pre>";
                print_r($arr2);
                echo "</pre>";
                //array_intersect(array1, array2)
            ?>
php

2 ответов

0

Можно больше 2х использовать, вот пример:

$arr0 = array("aaa", "111", "fff", "666");                                 
$arr1 = array("aaa", "bbb", "ccc", "ddd", "eee", "111", "222", "333", "444", "555");   
$arr2 = array("fff", "ggg", "hhh", "iii", "aaa", "666", "777", "888", "999", "000"); // Изменил "111" на "aaa"

$result=array_intersect($arr0, $arr1, $arr2);
print_r($result);
0

спасибо разобрался 

Sign up or Log in to write an answer