На этом шаге мы рассмотрим различные способы сравнения массивов.
Сравнение массивов производится с помощью привычных для нас операторов отношений. Наибольший интерес в этом плане вызывают операторы равенства (==) и эквивалентности (===).
Массивы считаются равными, в том случае, если каждый элемент одного массива имеет один равный ему во втором, и наоборот. Равенство элементов подразумевает соответственно совпадение ключа и значения. Порядок расположения элементов при этом не играет роли. Например:
<?php $closets_1 = array ("Ботинки", "Футболка"); $closets_2 = array("1" => "Футболка","0" => "Ботинки"); if ($closets_1 == $closets_2) { echo "Массивы равны"; } else { echo "Массивы неравны"; } ?>
В этом случае программа выведет "Массивы равны". Заметьте, что индексы второго массива находятся в двойных кавычках, а значит, имеют тип String. Но в данном случае сравниваются значения, а не типы, поэтому программа все равно выведет сообщение о равенстве массивов. То же самое относится к значениям элементов в массиве.
Оператор эквивалентности требует от своих операндов не только равенства значений, но и одинаковый порядок следования элементов в массиве. Например:
<?php $closets_1 = array("Ботинки","Футболка"); $closets_2 = array("1" => "Футболка","0" => "Ботинки"); if ($closets_1 === $closets_2) { echo "Массивы эквивалентны"; } else { echo "Массивы неэквивалентны"; } ?>
В этом случае программа выведет, что массивы неэквивалентны.
Наряду с разобранными операторами существуют также операторы неравенства (!=) и неэквивалентности (!==), принцип работы которых аналогичен.
Со следующего шага мы начнем рассматривать модификацию массивов.