array_intersect ведёт себя в коде очень странно. Я был уверен, что он находит все одинаковые значения. Но почему-то он работает очень странно.
Вот отрезок моего кода (Оба массива уже получены и известно, что они не пустые):
print_r($UserArray) ;
echo "<br/>";
print_r($PageArray);
echo "<br/>";
print_r(array_intersect($PageArray, $UserArray));
echo "<br/>";
Теперь посмотрим выводы. Вот первый случай:
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Array ( [1] => 2 )
Тут функция не нашла тройку и четвёрку. Почему-то массив содержит только один элемент, хотя совпадает 3.
Второй случай:
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 4 )
Array ( )
У них одно совпадение, но функция вернула пустой массив. Может, я плохо прочитал документацию. Объясните, что не так с array_intersect?