プログラムを書く際の判断における $a == 2 と 2 == $a の違いは何ですか
プログラムを書く際の判断における $a == 2 と 2 == $a の違いは何ですか
条件演算子で値を割り当てることができる言語の場合、比較演算子の前に定数を配置すると、等号の欠落によって引き起こされる問題を回避できます。
言い換えれば、これにより、私たちのさまざまな間違いによって引き起こされる$a == 2
写成$a = 2
問題を回避することができます。
このテクニックは PHP ではあまり役に立ちませんが、ユーザーが送信した特定のパラメーターが文字列「abc」と等しいかどうかを判断するなど、Java Web ではより役立ちます。後者はエラーを報告しますが、前者は正しい結果を返します。
"abc".equals(a)
就比a.equals("abc")
あまり効果はありません。
主な目的は、判断時に等号を見逃さないようにすることです。
Assume $a=1;
2==$a;//実行可能、値は false
2=$a;//保存
$a==2;//実行可能、値は false
$a= 2;//代入文なので実行可能、値はtrue
2 == $a 等号が 1 つ少ない場合、コンパイラーはエラーを出します。
違いはありません
ただし、セマンティクスの観点からは $a == 2 の方が受け入れられます