Итак, я только что понял какое-то странное поведение с PHP и хотел бы знать, почему это происходит. Так работает этот код:PHP-тернарный оператор с использованием 'и'
var_dump(true and false ? 'one' : 'two');
Выходы
boolean true
вместо «два», как и следовало ожидать ... Проблема, как представляется, используя «и».
Продолжительность:
var_dump(true && false ? 'one' : 'two');
выходы
string 'two' (length=3)
так же, как ожидалось. Почему использование 'и' вместо '& &' вызывает это странное поведение? Разве они не должны быть одинаковыми?
Я хотел бы узнать ответ на этот вопрос. Мое предположение - это порядок. В первом из них используется ложное значение для тернарного оператора, который выходит на true и «two», который оценивается как true ... – DanRedux
Похоже, я был прав. : P – DanRedux