Задать вопрос
Devilz_1
@Devilz_1
Frontend-Developer

Как сравнить два массива в условии?

Всем привет. Вопрос может быть элементарный, но всё-таки.
Как сделать например:
if($arSelect[ID] == $arEnter[ID]){
echo "Массивы равны";
}else{
echo "Массивы не равны";
}
  • Вопрос задан
  • 5239 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Yan-s
Комментировать
@Mysterion
array_diff использовать можно для сравнения массивов, если нужно все элементы сравнить.
$a = ['a' => 'aa', 'b' => 'bb', 'c' => 'cc', 'd' => 'dd'];
$b = ['a' => 'aa', 'b' => 'bb', 'c' => 'cc', 'd' => 'ddd'];
if($c = array_diff($a,$b)) {
    print_r($c);
}
Ответ написан
@EgorZxc
Если нужно сравнить 2 массива, то единственное, что мне видится - сначала отсортировать оба массива, а после через "==".
Но тут нужно определиться, что считать равными массивами. Равны ли [1,2,3,4] и [2,3,1,4]? Если равны тогда сначала сортировка, иначе можно сразу '=='.

НИ В КОЕМ СЛУЧАЕ НЕ ИСПОЛЬЗОВАТЬ array_diff(). Это расхождение первого от второго (и на самом деле всех последующих). То есть, если во втором есть элемент который не представлен в первом то array_diff() вернёт пустой массив.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы