Выражения. Арифметические операторы
Операторы
Арифметические операторы
Помните основную арифметику из школы? Эти операторы работают подобным образом
Таблица 7-1. Арифметические операторы
пример | название | результат |
$a + $b | Сложение | Сумма $a и $b. |
$a - $b | Вычитание | Вычитает $b из $a. |
$a * $b | Умножение | Произведение $a и $b. |
$a / $b | Деление | Деление $a на $b. |
$a % $b | Остаток деления | Остаток от деления $a на $b. |
Оператор деления("/") возвращает целую величину(результат целочисленного деления) если оба оператора - целые (или строка преобразованная в целое). Если каждый операнд является величиной с плавающей запятой, выполнится деление с плавающей запятой.
Операторы строк
B действительности есть только один оператор -- оператор конкатенации (".").
Операторы присваивания
Основным оператором присваивания является "=". Вы могли подумать что это "равно"("equal to"). Но это не так. В действительности это означает что левый операнд получает значение выражения в правых (собирательное присваивание).
Значением выражения присваивания является присваиваемая величина. Так что если "$a = 3", то это 3. Это позволит Вам делать некоторые мудреные вещи:
$a = ($b = 4) + 5; // теперь $a равно 9, а $b стало равным 4.В дополнение к основным операторам присваивания есть дополнительные "комбинационные операторы",для всех арифметических и строковых операторов, что позволяет Вам использовать значение в выражении и затем устанавливать свое значение в результате этого выражения. Например:
$a = 3; $a += 5; // теперь $a равно 8, как если бы мы сказали: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // теперь $b равно "Hello There!", как если бы мы написали $b = $b . "There!";
Бинарные Операторы (Побитовые Логические Операторы)
Бинарные Операторы позволяют вам изменять биты в целых числах.
Table 7-2.Бинарные Операторы
пример | название | результат |
$a & $b | И | Будут установлены биты, которые были установлены и в $a и в $b. *Пример вебклуба: $a=5; /* 0101 */ $b=12; /* 1100 */ $c=$a & $b; /* $c будет равно 4 (0100) */ |
$a | $b | Или | Будут установлены биты, установленные в $a или $b . *Пример вебклуба: $a=5; /* 0101 */ $b=12; /* 1100 */ $c=$a|$b; /* $c будет (1101) */ |
~ $a | Не | Будут установлены не_присутствующие в $a биты (реверс) *Пример вебклуба: $a=5; /* 0101 */ ~ $a /* $a будет равно x (1010) */ |
Логические операторы
Таблица 7-3. Логические операторы
пример | название | результат |
$a and $b | И | Истина, если истинны $a и $b. |
$a or $b | Или | Истина, если истинны $a или $b. |
$a xor $b | Или | Истина, если истинны $a или $b, но не оба. |
! $a | Не | Истина, если не истинно $a. |
$a && $b | И | Истина, если истинны и $a и $b. |
$a || $b | Или | Истина, если истинны $a или $b. |
Разница в двух различных вариантах операторов "and" и "or" - в различии приоритетов операций. (см. ниже)