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

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

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

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

$a = ( $b = 4 ) + 5 ; // $a теперь равно 9, а $b было присвоено 4.

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

$a = 3 ;
$a += 5 ; // устанавливает $a в 8, как если бы мы написали: $a = $a + 5;
$b = «Привет» ;
$b .= «-привет!» ; // устанавливает $b в «Привет-привет!», как и $b = $b . «-привет!»;

Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), таким образом все последующие изменения одной из переменных никак не отразятся на другой. Это также следует учитывать, если вам надо скопировать что-то типа большого массива в длинном цикле.

Исключением из обычного для PHP способа присваивания по значению являются объекты ( object ), которые присваиваются по ссылке. Принудительно скопировать объекты по значению можно с помощью специального ключевого слова clone.

Присваивание по ссылке

Присваивание по ссылке также поддерживается, для него используется синтаксис $var = &$othervar; . Присваивание по ссылке означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит.

Пример #1 Присваивание по ссылке

print » $a \n» ; // печатает 3
print » $b \n» ; // печатает 3

print » $a \n» ; // печатает 4
print » $b \n» ; // также печатает 4, так как $b является ссылкой на $a,
// а значение переменной $a успело измениться
?>

Читайте также:  Css 1dbjc4n r 1p0dtai r 1loqt21 r 1d2f490 r u8s1d r zchlnj r ipm5af

Оператор new автоматически возвращает ссылку, так как присвоение результата операции new по ссылке является ошибкой.

Результат выполнения данного примера:

Parse error: syntax error, unexpected 'new' (T_NEW) in …

Для получения более полной информации о ссылках и их возможностях обратитесь к разделу Подробно о ссылках.

Операторы арифметического присваивания

Пример Эквивалент Операция
$a += $b $a = $a + b Сложение
$a -= $b $a = $a — $b Вычитание
$a *= $b $a = $a * $b Умножение
$a /= $b $a = $a / $b Деление
$a %= $b $a = $a % $b Модуль

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

Пример Эквивалент Операция
$a &= $b $a = $a & $b Побитовое И
$a |= $b $a = $a | $b Побитовое ИЛИ
$a ^= $b $a = $a ^ $b Побитовое исключающее ИЛИ (Xor)
$a $a = $a Побитовый сдвиг влево
$a >>= $b $a = $a >> $b Побитовый сдвиг вправо

Другие операторы присваивания

Смотрите также

Источник

PHP: операторы

Счетчик PR-CY.Rank

Каким правилам нас учили в школе, такие действуют и в языке программирования php. Приоритет выполнения операций следующий:

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

Арифметические операторы

В отличие от привычны нам четырех арифметических действий, в PHP есть пятое: остаток от деления — знак процента. Он возвращает ту часть числа, которая нацело не разделилась на второе число.

-$a Отрицание Смена знака $a.
$a + $b Сложение Сумма $a и $b.
$a — $b Вычитание Разность $a и $b.
$a * $b Умножение Произведение $a и $b.
$a / $b Деление Частное от деления $a на $b.
$a % $b Деление по модулю Целочисленный остаток от деления $a на $b.

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

Оператор присваивания в PHP — это знак равенства (=). Данный оператор присваивает в переменную слева значение, которое находится справа.

Также в PHP существую очень удобные сокращения арифметических операций с операторами присваивания.

Сокращение Расшифровка
$a += $b $a = $a + $b
$a -= $b $a = $a — $b
$a *= $b $a = $a * $b
$a /= $b $a = $a / $b
$a %= $b $a = $a % $b

Операторы инкремента

Удобны тем, что позволяют записывать сокращенно очень часто выполняемые арифметические действия: увеличение, либо уменьшение на единицу числа.

Сокращение Расшифровка
$a++ увеличивает $a на единицу
$a— уменьшает $a на единицу

Строковые операторы

По аналогии с числами очень часто необходимо складывать (соединять) строки. Для этого используется оператор точка (.). Он также имеет сокращенную запись.

"; $a .= $b; echo ($a); //Выведет "Превед, медвед!медвед!" ?> 

Логические операторы

Логические опреаторы созданы для того, чтобы управлять условиями (об этом мы с вами поговорим немного попозже). Результатом выполнения данных операторов является либо true, либо false. Но для справки всё же ознакомьтесь:

Пример Название Результат
$a and $b И TRUE если и $a, и $b TRUE.
$a or $b Или TRUE если или $a, или $b TRUE.
$a xor $b Исключающее или TRUE если $a, или $b TRUE, но не оба.
! $a Отрицание TRUE если $a не TRUE.
$a && $b И TRUE если и $a, и $b TRUE.
$a || $b Или TRUE если или $a, или $b TRUE.

Крутов Герман

Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!

Ссылка на статью на всякий случай:

PersonКрутов Герман © 2009-2023 Emailkrutovgerman2007@ya.ru VK SocialЯ ВКонтате

Источник

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

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

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

$a = ( $b = 4 ) + 5 ; // $a теперь равно 9, а $b было присвоено 4.

Для массивов ( array ), присвоение значения именованному ключу происходит с помощью оператора «=>». Приоритет этого оператора такой же, как и у остальных операторов присваивания.

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

$a = 3 ;
$a += 5 ; // устанавливает $a в 8, как если бы мы написали: $a = $a + 5;
$b = «Hello » ;
$b .= «There!» ; // устанавливает $b в «Hello There!», как и $b = $b . «There!»;

Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), таким образом все последующие изменения одной из переменных никак не отразятся на другой. Это также следует учитывать, если вам надо скопировать что-то типа большого массива в длинном цикле.

Исключением из обычного для PHP способа присваивания по значению являются объекты ( object ), которые, начиная с версии PHP 5, присваиваются по ссылке. Принудительно скопировать объекты по значению можно с помощью специального ключевого слова clone.

Присваивание по ссылке

Присваивание по ссылке также поддерживается, для него используется синтаксис $var = &$othervar; . ‘Присваивание по ссылке’ означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит.

Пример #1 Присваивание по ссылке

print » $a \n» ; // печатает 3
print » $b \n» ; // печатает 3

print » $a \n» ; // печатает 4
print » $b \n» ; // также печатает 4, так как $b является ссылкой на $a,
// а значение переменной $a успело измениться
?>

Начиная с версии PHP 5, оператор new автоматически возвращает ссылку, поэтому присваивание результата операции new по ссылке начиная с версии PHP 5.3 генерирует ошибку уровня E_DEPRECATED , а в более ранних версиях — ошибку уровня E_STRICT .

Например, следующий код выдаст предупреждение:

/* Следующая строка сгенерирует следующее сообщение об ошибке:
* Deprecated: Assigning the return value of new by reference is deprecated in.
* (Устаревший код: Присвоение результата работы new по ссылке устарело в. )
*/
$o = &new C ;
?>

Для получения более полной информации о ссылках и их возможностях обратитесь к разделу Подробно о ссылках.

Источник

Оцените статью