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

Операторы сравнения, как это видно из их названия, позволяют сравнивать между собой два значения. Также вам возможно будет интересно ознакомиться с разделом Сравнение типов, в котором приведено большое количество соответствующих примеров.

Таблица 15-4. Операторы сравнения

ПримерНазваниеРезультат
$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 или в случае, если они разных типов (Добавлено в PHP 4)
$a < $bМеньшеTRUE если $a строго меньше $b.
$a > $bБольшеTRUE если $a строго больше $b.
$a <= $bМеньше или равноTRUE если $a is меньше или равно $b.
$a >= $bБольше или равноTRUE если $a больше или равно $b.

В случае, если вы сравниваете целое со строкой, строка будет преобразована к числу. В случае, если вы сравниваете две числовые строки, они сравниваются как целые числа. Эти правила также распространяются на оператор switch.

<?php
  var_dump
(0 == "a"); // 0 == 0 -> true
  
var_dump("1" == "01"); // 1 == 1 -> true
    
  
switch ("a") {
  case
0:
      echo
"0";
      break;
  case
"a": // Эта ветка никогда не будет достигнута, так как "a" уже сопоставленно с 0
      
echo "a";
      break;
  }
  
?>

Еще одним условным оператором является тернарный оператор "?:".

<?php
// Пример использования тернарного оператора
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// Приведенный выше код аналогичен следующему блоку с использованием if/else
if (empty($_POST['action'])) {
    
$action = 'default';
} else {
    
$action = $_POST['action'];
}
?>

Выражение (expr1) ? (expr2) : (expr3) интерпретируется как expr2, если expr1 вычисляется в TRUE, или как expr3 если expr1 вычисляется в FALSE.

Также ознакомьтесь с описаниями функций strcasecmp(), strcmp(), и разделом документации Типы и Операторы, работающие с массивами.