Операторы сравнения в 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 с седьмой версии, но результатом его применения не является логическое значение, поэтому мы поговорим о нем в отдельном конспекте

Информация

Автор конспекта


Дата создания: 11.02.2019
Категория: PHP