Операторы сравнения в PHP
Доброе время суток участники образовательной IT площадки GeekSpace. Меня зовут Юрий Сиротенко и сегодня мы поговорим о операторах сравнения.
Также вы можете посмотреть видео урок "Переменные" в рамках нашего курса "Введение в PHP" перейдя по этой ссылке
В конспекте с темой “Типизация в PHP” я говорил, что тип определяет допустимые операции над значениями. Все операции сравнения двух величин - вещественных и целых переменных или константы с переменной (равно, больше, меньше), функции проверки принадлежности вхождения некоторого элемента в множество и проверка на непустоту пересечения множеств возвращают в качестве результата булев тип
В языке программирования PHP определен набор встроенных операций сравнения позволяющих строить “простые” логические выражения:
Пример | Название | Результат |
$a == $b | Равно | true если $a равно $b после преобразования типов. |
$a === $b | Тождественно равно | true если $a равно $b и имеет тот же тип |
$a != $b | Не равно | true если $a не равно $b после преобразования типов |
$a <> $b | Не равно | true если $a не равно $b после преобразования типов |
$a !== $b | Тождественно не равно | true если $a не равно $b, или они разных типов |
$a < $b | Меньше | true если $a строго меньше $b. |
$a > $b | Больше | true если $a строго больше $b. |
$a <= $b | Меньше или равно | true если $a меньше или равно $b |
$a >= $b | Больше или равно | true если $a больше или равно $b |
Давайте рассмотрим каждый оператор сравнения по отдельности
Равно
Знак равенства присущ подавляющему большинству языков программирования. В PHP он обозначается как “==”.
Например мы можем построить следующее выражение:
$result = 3 == 2;
Результат выражения “три равняется двум” является ложным, то есть false, потому что на самом деле три не равняется двум.
Очень важный момент! В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет неявно и автоматически преобразована в число, и сравниваться они будут как числа
$result = 3 == ‘3’;
Результатом будет “true”.
Тождественно равно
В математике тождественное равенство - это верное числовое равенство, а также равенство, которое будет верным при всех допустимых значениях переменных, которые входят в его состав
Например следующее выражение в математике является тождественно равным:
3 * (x + 1) = 3 * x + 3
При любом значении переменной x, равенство будет верным
В PHP тождественное равенство - это такое равенство когда и значение и тип этого значения являются равными. Оператор тождественного равенства обозначается как “===”
Например следующее выражение можно считать тождественно равным
$result = 3 === 3;
Но вот такое выражение тождественно не равно и поэтому переменная “result” будет содержать “false”
$result = 3 === ‘3’;
Автоматическое и неявное преобразование типов при использовании оператора тождественного равенства не происходит так как в этом случае кроме самих значений сравниваются еще и типы.
Не равно
В PHP для того чтобы указать не равенство двух значений можно воспользоваться одним из следующих обозначение “!=” или “<>”. Два этих оператора абсолютно равнозначны.
$result = 1 != 2;
$result = 1 <> 2;
Оба этих выражения вернут истинный результат
Тождественно не равно
Данный оператор обозначается как “!==” и имеет прямую противоположность оператору тождественного равенства “===”.
Например результат следующего выражения будет истинным, то есть целочисленное значение 1 тождественно не равняется строковому представлению этого же числа, так как, автоматическое и неявное преобразование типов при использовании тождественного не равно не происходит
$result = 1 !== ‘1’;
А результат этого выражения - ложный, так как и значение и тип равны
$result = 1 !== 1;
Меньше
Оператор “меньше” или его еще называют “строго меньше” в PHP обозначается знаком “<”. Например мы можем построить следующее выражение:
$result = 1 < 2;
В результате в переменную “result” будет возвращено значение “true”. Почему true? Потому что число 1 меньше 2 и выражение можно считать правдивым.
Больше
Оператор “больше” или его еще называют “строго больше” в PHP обозначается знаком “>”. Например мы можем построить следующее выражение:
$result = 1 > 2;
Результатом данного выражение будет - ложь, так как 1 меньше чем 2.
Меньше или равно
Оператор “меньше или равно” в PHP обозначается знаком “<=”. Результат данного выражения будет истинным если результат левой части выражения меньше или равно правой
Например данное выражение будет истинным, так как три равняется трем
$result = 3 <= 3;
Но данный пример по понятным причинам окажется ложным
$result = 3 <= 2;
Больше или равно
Оператор “больше или равно” в PHP обозначается знаком “>=” и является прямо противоположным оператору “меньше или равно”
Например данное выражение будет истинным, так как три равняется трем
$result = 3 >= 3;
Но данный пример по понятным причинам окажется ложным
$result = 3 >= 4;
Заключение
На самом деле есть еще один оператор сравнения “Космический корабль” который пришел в мир PHP с седьмой версии, но результатом его применения не является логическое значение, поэтому мы поговорим о нем в отдельном конспекте