Люди, которые дали ответы, проделали хорошую работу, но я хотел бы добавить один маленький трюк, который мне нравится иногда использовать (в зависимости от языка и т. Д.)
Обычно вы пишете оператор if как что-то вроде
if ( $var == 1 ) { do_stuff( $var ) }; //or whatever
Этот следующий простой трюк сделал эту потенциальную ошибку почти невозможной для меня (особенно с php).
Просто переключите их.
Так что вместо обычного:
if ( $var == 1 ) { do_stuff( $var ) }; //or whatever
Попробуйте вместо этого всякий раз, когда сможете:
if ( 1 == $var ) { do_stuff( $var ) }; //or whatever
Я почти уверен, что php 5.2+ не изменился до такой степени, что он больше не работает, но даже если вы допустите смертельную ошибку при использовании одного знака равенства, он все равно будет работать, потому что вы не можете присвоить значение к константе (числа являются постоянными значениями, верно?).
Я полагаю, что это зависит от поведения php всегда обрабатывать код слева направо:
if ( 1 = $var ) { do_stuff( $var ) }; //or whatever
И ты золотой! С тех пор, как я начал заниматься этим более 5 лет назад, я больше никогда не сталкивался с этой проблемой. 1 всегда 1, независимо от того, что вы делаете. Это хороший способ продумать ваши условные выражения, циклы и т. Д. В php.
Красота этого заключается в том, что она поражает простотой. «$ var» может быть множеством разных вещей, но число 1 - это всегда число 1. Я уверен, что это работает не для всех языков, но для php я часто его использую, и, очевидно, это хорошая привычка. в любом случае структурировать свой код таким образом.