Логические операторы в PHP

Для сравнения каких-либо переменных в языках программирования используются встроенные конструкции. В PHP эту роль исполняет комбинацияif-elseif-else, в скобках после которой указываются используемые значения и определённые символы, показывающие, по какому принципу вести проверку. Они называются операторами сравнения и легко запоминаются.

Список операторов

Логические операторы служат для вложения нескольких условий внутрь одной проверки и представлены шестью вариантами:

  • and – «и» (также: &&);
  • or – «или» (также: ||);
  • xor – «исключающее “или”»;
  • «!» – отрицание.

Варианты написания – текстом или спецсимволами, отличаются приоритетами при обработке скрипта. Среди них проблемным может показаться xor, однако всё просто – он означает «если верно лишь одно условие, но не оба»).

Также присутствуют операторы сравнения, большая часть которых предназначена для работы с числами. Речь идёт о:

  • == – равно;
  • === – равно (тождественно);
  • != – не равно;
  • !== – не равно (тождественно);
  • – больше;
  • <– меньше;
  • = – больше или равно;
  • <= – меньше или равно;
  • <=> – spaceship, проверка разницы между значениями.

В ходе изучения языка может встретиться такое понятие, как «тернарный оператор», служащий для сокращения написания кода и рассмотренный в примерах.

Примеры использования

Условия с логическими операторами

Здесь сравниваются сразу две переменных. В результате, верным окажется условие №2.

<?
$abc = 5+11;
$xyz = 21;
if($abc == 16 and $xyz == 10) {
echo»Верно условие №1″;
} elseif($abc == 16 and $xyz == 21) {
echo»Верно условие №2″;
} else {
echo»Все условия являются ложными!»;
}
?>

Условия с разными операторами сравнения

<?
$abc = 1000;
$xyz = 10000;

if($xyz < 123) {
echo»Значение переменной <b>xyz</b> меньше, чем <b>123</b>.»;
} elseif($xyz <= 1000 and $abc == 999) {
echo»Значение переменной <b>xyz</b> меньше или равно <b>1000</b>, а значение переменной <b>abc</b> равно <b>999</b>.»;
} elseif($xyz == 10000 and $abc == 1000) {
echo»Значение переменной <b>xyz</b> равно <b>10000</b>, а значение переменной <b>abc</b> равно <b>1000</b>.»;
}
?>

Итог: выполнение третьего условия.

Тернарный оператор

Условие без тернарного оператора выглядит следующим образом:

<?
if ($abc < $xyz) {
$www = $abc;
} else {
$www = $xyz;
}
?>

Его можно сократить до:

<?$www = ($abc < $xyz) ? $abc : $xyz;?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *