6

重複の可能性:
php false place in condition

多くの PHP コードが CONST == VARIABLE のような条件ステートメントを使用していることに気付きました。私は常に逆に表現された構文で育ちました。この構造には何か理由があるのでしょうか?

例:

 // this is the way I see it most typically represented in PHP
 if ( false == $foobar ) { // do this }

 // this is the way I normally do it
 if ( $foobar == false ) { // do this }
4

2 に答える 2

9

これは、ヨーダ状態として知られる==との間の一般的なタイプミスを防ぐためです。=次の点を考慮してください。

if( false = $foobar) {

には何も割り当てることができないため、これはエラーになり、バグと見なされるものをキャッチしますfalse。それどころか:

if( $foobar = false) { 

これは有効な構文であり、間違いを犯しやすいです。

if( $foobar == false)ただし、単体テストはこれらのプログラム上のミスをキャッチできるはずなので、通常は構文を好みます。

于 2012-06-24T22:48:22.183 に答える
1

あなたが通常行う方法は、ほとんどのプログラマーが行う方法とまったく同じです。最初の例は、ヨーダ条件と呼ばれます。

http://www.dodgycoder.net/2011/11/yoda-conditions-pokemon-exception.html

そしてそれは標準ではありません。

于 2012-06-24T22:48:11.403 に答える