Что более оптимизировано между двумя случаями ниже?
if ($var == 'value') {}
а также
if ('value' == $var) {}
Извините, если это дублируется с другим вопросом, но я не могу ответить Google.
благодаря
[ОБНОВИТЬ]
Это называется условиями Йоды, здесь больше информации.
Нет никакой реальной разницы. Второй используется для защиты себя от typo if ($var = 'value')
Но не очень читаемо. Используйте в основном первый, если вы так устали, что, набирая, вы пропускаете персонажей.
Если вы пишете код
if ($var = 'val') echo $var; //Output will be "val"
но если вы это сделаете
if ('val' = $var) echo $var;
Вы получите синтаксическую ошибку.
'value' == $var
называется условием yoda. И вообще не используется, потому что это менее читаемо.
Что касается производительности, я не уверен, но, я думаю, ваш интерпретатор генерирует тот же самый код операции.
В основном используется одно значение $var=="value"
и если вы хотите его оптимизировать, то вместо ==
use ===
Я предлагаю использовать
$var == 'value'
чтобы повысить читаемость. Я не думаю, что существует реальный разрыв в производительности между ними, у php.net нет никакой информации об этом (или я не мог найти его).