Оператори присвоєння PHP

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

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

Результатом выполнения оператора присвоения является само присвоенное значение. Таким образом, результат выполнения $a = 3 будет равен 3. Это позволяет использовать конструкции вида:

<?php

$a
= ($b = 4) + 5; // результат: $a установлена значением 9, переменной $b присвоено 4.

?>

В дополнение к базовому оператору присвоения имеются "комбинированные операторы" для всех бинарных арифметических и строковых операций, которые позволяют использовать некоторое значение в выражении, а затем установить его как результат данного выражения. Например:

<?php

$a
= 3;
$a += 5; // устанавливает $a значением 8, аналогично записи: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // устанавливает $b строкой "Hello There!", как и $b = $b . "There!";

?>

Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), таким образом все последующие изменения одной из переменных на другой никак не отражаются. Начиная с PHP 4, также поддерживается присваивание по ссылке, используя синтаксис $var = &$othervar; 'Присвоение по ссылке' означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит.

Приклад: присвоювання "="

$a = ($b = 4) +5;
($a буде дорівнює 9,
$b буде дорівнює 4) <br\>
Змінній ліворуч від оператора буде присвоєне значення, отримане в результаті виконання яких-небудь операцій або змінної/константи з правої сторони.

Приклад: скорочення "+="

$a += 5;
(еквівалентно $a = $a + 5;)

Скорочення. Додає до змінної число і потім привласнює їй отримане значення.

Приклад: операція конкотенації та присвоення ".="

$b = "Привіт "; $b .= "усім";
(еквівалентно $b = $b . "усім";)
У результаті: $b="Привіт усім"

Скорочено позначає комбінацію операцій конкатенації і присвоєння (спочатку додається рядок,потім отриманий рядок записується в змінну)