Оператор логического ИЛИ принимает два операнда и возвращает true, если хотя бы один из операндов равен true; в противном случае возвращается false. То есть, оператор логического ИЛИ возвращает false только если оба операнда равны false.
В PHP для представления оператора логического ИЛИ можно использовать ключевое слово or или оператор ||:
Таблица истинности оператора OR:
Обратите внимание, что варианты orOr и OR эквивалентны, так как ключевые слова PHP не чувствительны к регистру.
Операторы || и or возвращают одинаковый результат. Единственное различие между ними - приоритет выполнения: у оператора or приоритет выше, чем у ||.

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

Допустим, вам нужно очистить кэш сайта, если хотя бы одна из переменных $expired или $purge равна true. Для этого можно использовать оператор логического ИЛИ:
Поскольку $expired равно true, результат оператора ИЛИ также будет true.
Если изменить значение $expired на false:
На практике оператор логического ИЛИ часто используется в конструкциях ifif-elseif-elseif, а также в циклах while и do-while.

Сокращённое вычисление (short-circuiting)

Если первый операнд оператора ИЛИ равен true, PHP не вычисляет второй операнд, так как результат уже определён. Это называется сокращённым вычислением.
Типичный пример использования:
Если function_call() возвращает true, функция die() не вызывается. В противном случае вызывается die() с сообщением об ошибке.
Пример:
Результат:
В этом примере функция возвращает false, поэтому вызывается die().

Особенности оператора OR в PHP

Рассмотрим следующий пример:
Вы могли ожидать, что $result будет равно true, но это не так. Причина - приоритет операторов: оператор присваивания (=) имеет более высокий приоритет, чем оператор or. Поэтому сначала выполняется присваивание, а затем логическое ИЛИ.
Технически это эквивалентно:
Поэтому $result получает значение false.
Чтобы получить ожидаемый результат, используйте скобки:
Или используйте оператор ||:
Поэтому рекомендуется использовать оператор || вместо or.

Итог

  • Используйте оператор PHP OR (or||) для объединения двух выражений: результат будет true, если хотя бы одно из выражений истинно.
  • Оператор логического ИЛИ поддерживает сокращённое вычисление.
  • Рекомендуется использовать оператор || вместо or для избежания ошибок, связанных с приоритетом операторов.