Операторы, работающие с массивами в PHP
Для чего нужны операторы, которые работают с массивами?
Данные операторы позволяют нам совершать определённые действия над массивами данных.
Синтаксис операторов работающих с массивами
Пример | Название | Результат |
$a + $b | Объединение | Объединение массива $a и массива $b. |
$a == $b | Равно | TRUE в случае, если $a и $b содержат одни и те же пары ключ/значение. |
$a === $b | Тождественно равно | TRUE в случае, если $a и $b содержат одни и те же пары ключ/значение в том же самом порядке и того же типа. |
$a != $b | Не равно | TRUE, если массив $a не равен массиву $b. |
$a <> $b | Не равно | TRUE, если массив $a не равен массиву $b. |
$a !== $b | Тождественно не равно | TRUE, если массив $a не равен тождественно массиву $b. |
Оператор + возвращает левый массив, к которому был присоединен правый массив. Для ключей, которые существуют в обоих массивах, будут использованы значения из левого массива, а соответствующие им элементы из правого массива будут проигнорированы.
<?php $a = array("a" => "apple", "b" => "banana"); $b = array("a" => "pear", "b" => "strawberry", "c" => "cherry"); $c = $a + $b; // Объединение $a и $b echo "Union of \$a and \$b: \n"; var_dump($c); $c = $b + $a; // Объединение $b и $a echo "Union of \$b and \$a: \n"; var_dump($c); $a += $b; // Объединение $a += $b, это $a и $b echo "Объединение of \$a += \$b: \n"; var_dump($a); ?>
После своего выполнения скрипт напечатает следующее:
Union of $a and $b: array(3) { ["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> string(6) "cherry" } Union of $b and $a: array(3) { ["a"]=> string(4) "pear" ["b"]=> string(10) "strawberry" ["c"]=> string(6) "cherry" } Объединение $a += $b: array(3) { 'a' => string(5) "apple" 'b' => string(6) "banana" 'c' => string(6) "cherry" }
При сравнении элементы массива считаются идентичными, если совпадает и ключ, и соответствующее ему значение.
Пример использования операторов, которые работают с массивами
<?php //сравнение массивов $a = array("apple", "banana"); $b = array(1 => "banana", "0" => "apple"); var_dump($a == $b); // bool(true) var_dump($a === $b); // bool(false) ?>