Глава 7. Выражения


Операторы


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

Помните основную арифметику из школы? Эти операторы работают подобным образом

Таблица 7-1. Арифметические операторы

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

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


Операторы строк

B действительности есть только один оператор -- оператор конкатенации (".").

$a = "Hello ";
$b = $a . "World!"; // теперь $b = "Hello World!"
     


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

Основным оператором присваивания является "=". Вы могли подумать что это "равно"("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" - в различии приоритетов операций. (см. ниже)


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

Операторы Сравнения, как и подразумевается в их имени, позволяют Вам сравнивать две величины.

Таблица 7-4. Операторы Сравнения

примерназваниерезультат
$a == $bравноистина, если $a эквивалентно $b.
$a != $bНе равноИстина, если $a не эквивалентно $b.
$a < $bМеньше чемИстина если $a меньше чем $b.
$a > $bБольше чемИстина если $a больше $b.
$a <= $bМеньше или равноИстина, если $a меньше или равно $b.
$a >= $bБольше или равноИстина, если $a больше или равно $b.

Приоритет Операций