Главная » Все для Веб Мастера » Обучающие материалы » Как производить вычисления в PHP?

Как производить вычисления в PHP?

В категории: Обучающие материалы | Дата: 31.12.2012, 15:35 | Просмотров: 253


PHP поддерживает следующие типы операций(вычислений):
  • Арифметические операции
  • Строковые операции
  • Операции присвоения
  • Двоичные операции
  • Логические операции
  • Операции сравнения
  • Операции инкремента/декремента
  • Операции управления ошибками


Арифметические операции
– их всего пять, вот они:
Код
$a + $b - сложение
$a - $b - вычитание
$a * $b - умножение
$a / $b - деление
$a % $b - целочисленный остаток от деления

Операция деления («/») всегда возвращает число с плавающей точкой, даже если операнды являются целыми числами. Если вы хотите получить что-то вроде 123.45, используйте функцию форматирования значений sprintf().
Код
$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.

Операции управления ошибками
PHP поддерживает одну операцию подавления ошибок: знак (@). Если он вставлен как префикс выражения PHP, любые ошибки, которые могут генерироваться этим выражением, подавляются.
Код
$value = @$cache[$key]; // уведомления не будет, если индекс $key не существует.

Примечание: @ - операция работает только в выражениях. Основное правило: если вы можете получить значение чего-нибудь, вы можете поставить в качестве префикса операцию @. Например, вы можете поставить её к переменным, функциям и вызовам include(), константам и т.д. Вы не можете подставить её к определению функции или класса или структурам управления, таким как if и foreach, и т.д.

Мы не рекомендуем использовать этот префикс – пишите программы корректно.

Автор\Источник: http://ultisoft.3dn.ru/

Поделись с друзьями

html-cсылка:

BB-cсылка:

Прямая ссылка:

Комментарии (0)

bbsmenu">
Оставить комментарий