У меня есть следующее выражение:
if (!empty($forums) && count($forums) == 1)
Исходя из порядка оценки, первое, что нужно проверить, это если $forums
не пусто. Если оно пустое, то оно должно сразу принимать значение false, когда оно достигает значения &&
. В этот момент он должен выйти из оператора if и даже не пытаться count()
.
Однако, эта ошибка была произведена:
ErrorException: [E_WARNING] count (): Параметр должен быть массивом или объектом, который реализует Счетное
Трассировка стека показывает, что он попытался сделать count(NULL)
. Если $forums
оценивается как NULL
; тогда почему выражение продолжается вместо выхода из оператора if?