Операторы в 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

This entry was posted in PHP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *