不僅僅是在if的判斷條件中,這兩個(gè)表達(dá)式的值都是0或1(即假或真),但($u == 2)的意思是當(dāng)$u的值為2時(shí),該表達(dá)式為真,當(dāng)$u不等于2時(shí),該表達(dá)式為假。而($u = 2)的意思是當(dāng)2賦值給$u成功時(shí),該表達(dá)式為真,失敗時(shí),該表達(dá)式為假。 所以有經(jīng)驗(yàn)的程序員在寫$u == 2這種表達(dá)式的時(shí)候,一般都會(huì)寫為2 == $u,這樣一旦少寫一個(gè)等號(hào),編譯器就會(huì)報(bào)錯(cuò),而$u == 2如果少寫一個(gè)等號(hào),編譯器會(huì)認(rèn)為是賦值,不會(huì)報(bào)錯(cuò)的。 =號(hào)的意思是賦值后,如果賦的值為真則執(zhí)行IF下的語句。 ==號(hào)的意思是直接比較兩個(gè)值是否相等,如果相等則執(zhí)行IF下的語句。 如: $a=3; $b=4; if($a=$b) echo"ok"; else echo"wrong!"; 此時(shí),將輸出OK 如果換成if($a==$b) 此時(shí),將輸出wrong!
發(fā)表評(píng)論