ifステートメントを使用して検証をテストしようとしています。
if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
このステートメントが実行される前$blue = 0。
これを実行した後...$blueに変わります1。
なぜ何かアイデアはありますか?
=の代わりに使用しています==:
if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
^^^
その結果(の左側&&がtrueを返すと仮定して)$blue が割り当てられ "1"ます。
これは最も一般的なプログラミングの間違いの1つです!! ==それが起こらないようにする方法として、プログラマーは定数をasの左側に置きます。
1 == $blue
誤って次=の代わりに書くことになった場合==:
1 = $blue
定数に割り当てることができないため、構文エラーが発生します。
if(($ red == "1")&&($ blue == "1")){$ green = "hello"; }
//コードは($ blue = "1")'='はphp比較の代入演算子です'=='
比較する代わりに割り当て$blue = 1ているので、$blueは1です
これは、を使用するためです=。を使用し$blue == "1"ます。
次の条件では、あなたの同等の歌は正しくありませんif(($ red == "1")&&($ blue == "1")){$ green = "hello"; }
うん、==代わりに使う=
私はさらに進んで、そのような状況を避けるために比較するときは、おそらく左側にリテラルを置くべきだと言います。
のif(1 == $blue)代わりにif($blue == 1)
=の代わりに==または===を使用してください。
'='は代入演算子であり、条件演算子は==または===です。
if (($red == "1") && ($blue == "1") )
{
$green = "hello";
}