Сложение и сравнение массивов в PHP

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

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

Сравнение массивов

1
2
3
4
5
6
7
8
9
10
11
<?php
$closets_1=array("Ботинки","Футболка"); 
$closets_2=array("1" => "Футболка", "О" => "Ботинки"); 
if ($closets_1 == $closets_2) 
{
echo "Массивы равны";
}
else 
{
}
?>

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

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

Эквивалентность массивов

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$closets_1=
array("Ботинки","Футболка"); 
$closets_2=
array("1" => "Футболка","0" => "Ботинки");
if ($closets_1 === $closets_2)
{
echo "Массивы эквивалентны";
}
else
{
echo "Массивы неэквивалентны";
}
?>

В этом случае программа выведет, что массивы неэквивалентны.

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

Сложение массивов

Сложение (иногда эту операцию называют слиянием) массивов происходит посредством оператора суммы +.

Сложение массивов

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html> 
<head>
<title> Сложение массивов </title> 
</head> 
<body> 
<pre> 
<?php
$closets_1=
аrray("Петров"=>"Ботинки","Иванов"=>"Футболка"); 
$closets_2=
аrrау("Петров"=>"Майка","Иванов"=>"Кроссовки","Сидоров"=>"Шорты");
$closets_sum = $closets_1 + $closets_2;
print_r($closets_sum);
$closets_sum = $closets_2 + $closets_1;
print_r($closets_sum);
?>

В первом случае мы видим, что результирующий массив содержит в себе два элемента первого и один элемент второго массива. Чтобы понять этот результат, нужно знать общий принцип сложения массивов. Результирующий массив состоит целиком из первого слагаемого, к которому добавляются элементы второго, имеющие отличные индексы. В связи с этим в первом случае отсутствуют элементы Майка и Кроссовки, а во втором – Ботинки и Футболка.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100