PHP скрипты

MySQL

Apache

phpMyADmin

8.10: Сравнение массивов в PHP

Главная Страница » Книги по PHP » Самоучитель PHP 5 для чайников с примерами » Сравнение массивов в PHP

Сравнение массивов производится с помощью привычных для нас операторов отношений. Наибольший интерес в этом плане вызывают операторы равенства (==) и эквивалентности (===).

Массивы считаются равными, в том случае, если каждый элемент одного массива имеет один равный ему во втором, и наоборот. Равенство элементов подразумевает соответственно совпадение ключа и значения. Порядок расположения элементов при этом не играет роли (листинг 8.12).

Листинг 8.12. Сравнение массивов.

‹html›
‹head›
‹title›Сравнение массивов‹/title›
‹/head›
‹body›
‹?php
$closets_1 = array ("Ботинки","Футболка");
$closets_2 = array ("1" => "Футболка", "0" => "Ботинки");
if ($closets_1 == $closets_2)
{
  echo "Массивы равны";
}
else
{
  echo "Массивы неравны";
}
?›
‹/body›
‹/html›

Заметьте, что индексы второго массива находятся в двойных кавычках, а значит имеют тип String. Но в данном случае сравниваются значения, а не типы, поэтому программа все равно выведет сообщение о равенстве массивов. То же самое относится к значениям элементов в массиве.

Иначе дело обстоит с оператором эквивалентности, который требует от своих операндов не только равенства значений, но и одинаковый порядок следования элементов в массиве (листинг 8.13).

Листинг 8.13. Эквивалентность массивов.

‹html›
‹head›
‹title›Эквивалентность массивов‹/title›
‹/head›
‹body›
‹?php
$closets_1=
array ("Ботинки", "Футболка");
$closets_2=
array("1" => "Футболка", "0" => "Ботинки");
if ($closets_1 === $closets_2)
{
  echo "Массивы эквивалентны";
}
else
{
  echo "Массивы неэквивалентны";
}
?›
‹/body›
‹/html›

В этом случае программа выведет, что массивы неэквивалентны. Наряду с разобранными операторами существуют также операторы неравенства ( !=) и неэквивалентности (!==), которые работают аналогично, но результат выполнения будет противоположный.

Поделиться с друзьями