Подтвердить что ты не робот

PHP Lazy Boolean Evaluation

У меня есть условное утверждение:

if($boolean && expensiveOperation()){ ...}

Есть ли у PHP ленивая логическая оценка, т.е. проверит ли она $boolean и, если она ложна, не беспокоится о выполнении дорогостоящей операции? Если да, то в каком порядке следует поместить мои переменные?

4b9b3361

Ответ 1

Да, да. Он назвал оценку короткого замыкания. См. Комментарии на странице документации ...

Что касается заказа, он выполняет проверки на основе Приоритет оператора, а затем слева направо. Итак:

A || B || C

Сначала будет оценивать A, а затем B, только если A является ложным, а C - только если оба A и B являются ложными...

Но

A AND B || C

Всегда будет оценивать B || C, поскольку || имеет более высокий приоритет, чем AND (не верно для &&).