Синтаксис: вычисления
Материал из PhpWiki.
Содержание |
Арифметические операции
Их всего пять, вот они:
- $a + $b - сложение
- $a - $b - вычитание
- $a * $b - умножение
- $a / $b - деление
- $a % $b - целочисленный остаток от деления
Операция деления («/») всегда возвращает число с плавающей точкой, даже если операнды являются целыми числами. Если вы хотите получить что-то вроде 123.45, используйте функцию форматирования значений sprintf() или number_format.
$formatted_money = sprintf("%01.2f", $money);
Строковые операции
Cтроковой операцией считается операция сложения двух строк. Причем выглядит она довольно необычно, но практично:
$c = $a.$b; $c .= $e;
То есть символом этой операции является точка. А результатом ее выполнения будет обыкновенная строка, состоящая из $a и $b. Второй пример прибавляет к строке $c значение $e. Точка перед «равно» означает, что содержимое $c будет дополнено переменной $e.
Операция присвоения – она одна – это знак '=' и, естественно, этот знак означает, что переменной слева от него будет присвоенное значение, полученное в результате выполнения каких-либо операций, или переменной/константы с правой стороны.
$a = ($b = 4) + 5; // $a будет равна 9, а $b 4-м. $a += 5; // аналогично $a = $a + 5; $b = "Привет "; $b .= "всем!"; // аналогично $b="Привет всем!"
Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), поэтому изменения в одной не влияют на другую.
Двоичные операции
Двоичные операции дают возможность устанавливать значение специфицированных битов целочисленного значения. Если левый и правый параметры являются строками, битовая операция выполняется над символами строки.
- $a & $b — Побитовое И (AND) – устанавливаются биты, которые установлены и в $a, и в $b.
- $a | $b — Побитовое ИЛИ (OR) – устанавливаются биты, которые установлены в $a или в $b .
- $a ^ $b — Исключающее или (XOR) – устанавливаются биты, которые установлены в $a или $b, но не в обоих
- ~ $a — Отрицание – устанавливаются те биты, которые в $a не установлены, и наоборот.
- $a << $b — Сдвиг влево на $b битов – сдвигает биты переменной $a на $b шагов влево (каждый шаг/смещение означает «умножить на 2»).
- $a >> $b – — Сдвигает биты переменной $a на $b шагов вправо (каждый шаг/смещение означает «разделить на 2»).
Логические операции
- $a and $b // И (AND)
- $a && $b // То же самое, что и предыдущее
- $a or $b // Или (OR)
- $a || $b // То же, что и предыдущее
- $a xor $b // Исключающее или (XOR)
- !$a // Инверсия (NOT)
Операции сравнения
Cравнивают два значения.
- $a == $b // TRUE, если $a равно $b.
- $a === $b // TRUE, если $a равно $b и они одного типа (добавлено в PHP 4).
- $a != $b или $a <> $b // TRUE, если $a не равно $b
- $a !== $b // TRUE, если $a не равно $b или они разных типов (добавлено в PHP 4).
- $a < $b // TRUE, если $a строго меньше $b.
- $a > $b // TRUE, если $a строго больше $b.
- $a <= $b // TRUE, если $a меньше или равно $b.
- $a >= $b // TRUE, если $a больше или равно $b.
В PHP, как и в C++, существует тернарный оператор '?:'. Кто не знает, объясню на примере.
$res= (expr1) ? (expr2) : (expr3);
Результатом этой операции будет значение (expr2) в том случае, если expr1 == TRUE, и значение expr3 – в противном случае. Где все эти expr1, expr2, expr3 являются переменными/константами или математическими выражениями. Такая запись по сути своей аналогична следующей:
if (expr1) $res = (expr2); else $res = (expr3);
но, естественно, более лаконична.
Операции инкремента/декремента
Операции pre- и post-инкремента и декремента в стиле С.
- ++$a // Pre-increment Увеличивает $a на 1, затем возвращает $a.
- $a++ // Post-increment Возвращает $a, затем увеличивает $a на 1.
- --$a // Pre-decrement Уменьшает $a на 1, затем возвращает $a.
- $a-- // Post-decrement Возвращает $a, затем уменьшает $a на 1.
Copyright http://phpclub.ru/faq/
Получите качественную бесплатную очную консультацию адвоката по семейному праву.