Операторы в PHP


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

Не путать с равно: ==

$a = 5; // присвоить тому что слева (переменной $a) значение того, что справа (5)
$a = $a + 1; // прибавим к значению переменной $a
значение 1. Теперь $a равно 6
unset($a); // удалим переменную $a

Арифметические операторы:
+ — * /
и еще есть отрицание:
-$a

Из непонятного: % — деление по модулю:

echo 5%2; // дает 1

Приоритеты в операторах:
echo 2+2*2  // 6
echo (2+2)*2  // 8

Проблема: динамическая типизация
$a = ‘5’; // это не число, а это строка; потому что кавычки
echo $a * 10; // получим 50, т.к. утиная типизация — если что-то плавает как утка, летает как утка, крякаят как утка — значит скорее всего это утра 🙂

$a = ‘abc’;
echo $a * 10; // будет 0; т.е. $a приведется к нулю

$a = ‘5abc’;
echo $a * 10; // будет снова 50; т.к. PHP проверяет все символы переменной $a по очереди в поиске подходящего значения.

$a = ’51ab 2c’;
echo $a * 10; // будет 510; т.к. уперлись в окончание числа; также может искаться точка (для вещественного числа)

Оператор конкатенации (склеивания строк) — обозначается точкой .

$a = «Hello «;
$b = $a . «World!»; // $b теперь содержит строку «Hello World!»

$a = «Hello»; $b = «World!»;
$c = $a . » » . $b; // $c теперь содержит строку «Hello World!»

Это равнозначно и строковой записи переменных:
$d = «$a $b»;

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

Копирование переменных в PHP

$a = 5;
$b = $a; // создаем _новую_ ячейку в памяти и присваиваем ей значение, равное значению переменной $a
$b = 10; // присваиваем переменной $b новое значение
echo $a; // будет все также оставаться 5
echo $b; // станет 10


Запись опубликована в рубрике PHP. Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.