Переменная до или после значения в выражении IF - PullRequest
6 голосов
/ 09 июля 2011

Есть ли разница между этими двумя утверждениями:

if ($a == 'hello') { ... }

и

if ('hello' == $a) { ... }

Я заметил такие приложения, как Wordpressсклонны использовать последнее, в то время как я обычно использую первое.

Кажется, я помню, что читал что-то некоторое время назад, давая обоснование для последнего, но я не могу вспомнить причины этого.

Ответы [ 2 ]

9 голосов
/ 09 июля 2011

Разницы нет.Он используется для выдачи ошибки в случае, если вы случайно сделаете присвоение вместо сравнения:

if('hello' = $a)

if($a = 'hello') присвоит переменную и не выдаст ошибку.

Это также может быть использовано, чтобы явно показать, что , если у вас есть присваивание в операторе if, вы действительно хотите, чтобы оно было там, и это не ошибка (непротиворечивость).

2 голосов
/ 09 июля 2011

Основанием для последнего является то, что если вы по ошибке введете = вместо == (присваивание вместо сравнения), вы получите ошибку компилятора (невозможно присвоить константе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...