Операторы присваивания в PHP
http://belarusweb.net
Основы создания сайтов

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

Оператор присваивания обозначается при помощи знака равно '=' и означает, что левый операнд получает значение правого операнда. Например, выражение '$a=5' означает, что переменной $a было присвоено число 5, и его не следует рассматривать как сравнение на равенство значения переменной $a с числом 5, т.к. для этих целей используется оператор 'равно', который формируется двумя символами равно '=='. Если значение необходимо присвоить именованному ключу массива, то оператор присваивания имеет вид стрелки '=>'.

Поскольку оператор присваивания имеет правую ассоциативность, то при наличии в выражении нескольких операторов присваивания, они вычисляются справа налево. Эта особенность позволяет присваивать одно значение сразу нескольким переменным. Например, в выражении '$a=$b=$c=3' число 3 будет присвоено всем переменным по очереди, начиная справа, что равнозначно результату выражения '$a=($b=($c=3))'.

Напомним, что в PHP переменные присваиваются по значению (смотреть).

В дополнение к базовому оператору присваивания '=' в PHP применяется целый ряд комбинированных операторов присваивания, которые объединяют операцию присваивания с другой операцией (см. таблицу операторов). В общем виде выражение присваивания с комбинированным оператором '$a "operator"= $b' можно считать сокращенной записью выражения '$a = $a "operator" $b', например, '$a+=$b' является сокращенной записью выражения '$a=$a+$b', в котором к значению переменной $a прибавляется значение переменной $b, а результат присваивается переменной $a.

Использование комбинированных операторов присваивания показано в примере 3.6.

<?php
$a=3;   //Присвоили начальное значение
echo $a.'<br>';

$a+=6;  //Теперь $a==9, что равнозначно $a=$a+6; 
echo $a.'<br>';

$a*=2;  //Теперь $a==18, что равнозначно $a=$a*2;
echo $a.'<br>';

$a/=2;  //Теперь $a==9, что равнозначно $a=$a/2;
echo $a.'<br>';

$a**=2; //Теперь $a==81, что равнозначно $a=$a**2;
echo $a.'<br>';

$a%=2;  //Теперь $a==1, что равнозначно $a=$a%2;
echo $a.'<br>';
?>

Пример 3.6. Использование комбинированных операторов присваивания