@mcflys
Grazhdanin planety :)

Как лучше сравнивать переменную со значением в условии PHP?

Много раз видел, что кодеры в условии указывают

if (3 == $someVar) {
    ...
}


Чем оно лучше такого сравнения?
if ($someVar == 3) {
    ...
}
  • Вопрос задан
  • 2513 просмотров
Решения вопроса 1
Это так называемый йода-стайл. Делается специально, чтобы исключить случайное присваивание.

Например, ты можешь случайно написать
if ($user = 'admin') {

И кто бы ни был юзер, отныне он станет админом. Ну, в рамках текущего запроса.

А вот 'admin' = $user написать не получится.

По той же причине крайне не рекомендуется использовать присваивание в условии, многие любят так делать, типа
if ($user = loadUser()) {
поскольку не всегда можно точно определить, это опечатка или так и задумано. Условие должно быть условием.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
sivabur
@sivabur
Заблокировали просто так!
ПО скорости одно и тоже. Пишется исключительно из того чтобы случайно не написать так:

if (3 =$someVar) {
    ...
}


То есть пропустить нечаянно второй знак равенства =. В таком варианте выдаст ошибку во втором же приведенном вам варианте ошибок не будет(и сложно потом будет отловить где ошибка).
Ответ написан
olegtytarenko2
@olegtytarenko2
разработываю саты на cms PHP. Сейчас практикую yii
Без разницы. Тут дело в читаемости
в первом варианте ты указываешь что если 3 = Х
во втором варианте если X = 3

и все)
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
== используйте только в случае, если уверены в типах данных с обоих сторон, в противном случае ===
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы