強迫癥犯了,一段很簡單的代碼。if($a=3 && $a =4){echo $a;}問為什么會輸出布爾值 a =1以及是先給a賦值3還是先給a賦值4?請邏輯大神給個解釋。
2 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
我認為 $a=3 && $a =4 的執行次序實際是:$a = ( 3 && ($a = 4) ),
因為&&的優先級高于=,而3&&4的結果是真,在PHP中真的值是1,假是0.
故最后 $a = 1

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
佩服,佩服 if(fwrite($file, $data2) && fclose($file)){ echo 'ok';},file是打開的文件,data2是數據,這段代碼的意思是把data2的數據寫入file,并關閉文件。。為什么這個代碼竟然管用,正常情況下不是應該是從右向左執行的么。
- 2 回答
- 0 關注
- 1457 瀏覽
添加回答
舉報
0/150
提交
取消