Является ли еще более читаемым, чем другой? Сначала я не любил false ===
подход false ===
но, как я вижу это все чаще и чаще, я разогреваюсь до него. Я уверен, что они возвращают одинаковые результаты.
Я очень предпочитаю
false === $var
А именно потому, что иногда вы используете только равенство и не ищите идентичности.
В этом случае вы пишете
false == $var
Но иногда вы не находитесь на вершине своей игры и можете писать
false = $var
который даст немедленную ошибку, и давайте исправим его сразу.
Однако, если вы введете
$var = false
вы в конце концов избиваете голову против стены в течение часа, пытаясь понять, почему ваш скрипт работает неправильно.
Абсолютно никакой функциональной разницы нет.
Обычно я предпочитаю сначала поместить переменную , а постоянное значение – второе. Потому что это имеет смысл (когда вы говорите это вслух, вы скажете: «Я проверяю, что переменная ложна»? Или «Я проверяю, что ложь равна переменной»?)
Об этом меня научил гораздо лучший инженер-программист, чем я. Короче говоря, размещение константы в первую очередь – лучшая практика, хотя сначала она может показаться странной. Я говорю, что это лучшая практика, потому что это приводит к самым предсказуемым результатам:
$var = null; if (false === $var) { // NullPointerException is not thrown; only evaluates to "true" if the value "false" was assigned to $var ... } if ($var === false { // NullPointerException will be thrown ... } if (false = $var) { // Parse Error ... } if ($var = false) { // the value false is assigned to $var ... }