Не срабатывает 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)
?>
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
спасибо разобрался