Операторы сравнения, как это видно из их названия, позволяют сравнивать между собой два значения. Также вам возможно будет интересно ознакомиться с разделом Сравнение типов, в котором приведено большое количество соответствующих примеров.
Пример | Название | Результат |
---|---|---|
$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'];
}
?>
Также ознакомьтесь с описаниями функций strcasecmp(), strcmp(), и разделом документации Типы и Операторы, работающие с массивами.