Операторы сравнения в php
Операторы сравнения — множество логических операторов, предназначенных для совместного использования с оператором if. В предыдущем статье использовался оператор «больше» (>) для проверки значения переменной $minutes:
$minutes = 4; If ($minutes > 3) { echo "Ваше время истекло!"; echo "Пожалуйста, положите трубку."; $hang_up_now = TRUE; }
Оператор |
Операция |
Пример |
Результат |
|
---|---|---|---|---|
== |
Равенство |
$а == $b |
TRUE, если $а равно $b. |
|
=== |
Идентичность |
$а === $b |
TRUE, если $а равно $b, и они одного и того же типа. |
|
! = |
Неравенство |
$а != $b |
TRUE, если $а не равно $b. |
|
!== |
Неидентичность |
$а !== $b |
TRUE, если $а не равно $b, или они не одного и того же типа. |
|
< |
Меньше |
$а < $b |
TRUE, если $а меньше $b. |
|
> |
Больше |
$а > $b |
TRUE, если $а больше $b. |
|
< = |
Меньше или равно |
$а <= $b |
TRUE, если $а меньше или равно $Ь. |
|
|
Больше или равно |
$а >= $b |
TRUE, если $а больше или равно $b. |
Например, если требуется проверить, что значение переменной точно равно 25 градусов, следует использовать оператор равенства (==):
$temperature = 25; if ($temperature == 25) echo "Неплохой день";
Ниже приведен пример использования оператора неравенства (!=), который возвращает TRUE, если два значения не равны.
$temperature = 25; if ($temperature != 25) echo "Температура не равна 25 градусов";
Особое внимание следует уделить сравнению вещественных чисел. Вещественные числа хранятся в двоичном, а не десятичном представлении. Это означает, что число, которое выглядит как 8, может в действительности храниться как 7,99999999, и в результате проверка на точное равенство даст неверный результат. Поэтому не имеет смысла выполнять проверку вещественных чисел на равенство или неравенство. Для сравнения вещественных чисел рекомендуется ограничиться определенной точностью. Например, если требуется проверить равенство определенной переменной числу pi (в РНР предусмотрена отдельная функция pi, возвращающая значение числа к с высокой точностью), для этой цели можно применить следующий оператор:
$value = 3.1415926535; if (abs ($value - pi ()) < 0.0000001) { echo ("Это число 'пи'"); }
В примере использована математическая функция abs, возвращающая модуль своего аргумента.
Автор: Стивен Хольцнер. Переводчик: С. Банников