Операторы сравнения в PHP

Александр Кичатов

С помощью операторов сравнения мы можем сравнивать значения по различным критериям. Результат сравнения почти всех операторов - булев true/false:

<?php
    // 5 больше 1, поэтому в $var будет true
    $var = 5 > 1;

    // 5 не больше 10, поэтому в $var будет false
    $var = 5 > 10;
$a == $bИстина, если $a равна $b после изменения типов.
$a === $bИстина, если $a равна $b и имеет тот же тип.
$a != $bИстина, если $a не равна $b после преобразования типов.
$a <> $bИстина, если $a не равна $b после преобразования типов.
$a !== $bИстина, если $a не равна $b или они разных типов.
$a < $bИстина, если $a меньше $b.
$a > $bИстина, если $a больше $b.
$a <= $bИстина, если $a меньше или равна $b.
$a >= $bИстина, если $a больше или равна $b.
$a <=> $bВозвращает -1, 0 или 1 когда $a соответственно меньше, больше или равно $b. Доступно с PHP 7.

Заметьте, операторы === и !== сравнивают не только значение, но и тип переменных, а == и != перед сравнением приводят значения к одному типу.

Задача

Определите, какое значение будет сохранено в переменную в каждом примере.

<?php
    $a =  5 > 1; // true
    $a = 5 == 1; // ?
    $a = 5 != 9; // ?
    $a = 3 <> 3; // ?
    $a = 9 < 3; // ?
    $a = 5 + 1; // ?
    $a = 1 <= 2; // ?
    $a = -10 >= 5; // ?
    $a = 0 == 1; // ?

<?php
    $a =  5 > 1; // true
    $a = 5 == 1; // false
    $a = 5 != 9; // true
    $a = 3 <> 3; // false
    $a = 9 < 3; // false
    $a = 5 + 1; // 6
    $a = 1 <= 2; // true
    $a = -10 >= 5; // false
    $a = 0 == 1; // false

Комментарии