經常看到這樣的語句:
$file = fopen($filename, r) or die("抱歉,無法打開: $filename");
or在這裡是這樣理解的,因為在PHP中並不區分數據類型,所以$file既可以是int也可以bool,所以這樣的語句不會報錯。但其處理過程可能有些朋友不大明白。
其實在大多數的語言中, bool or bool這樣的語句中,如果前一個值為真後一個值就不會再判斷了。這裡也是的,所以如果fopen函數執行正確的話,會返回一個大於0的int值(這其實就是“真”),後面的語句就不會執行了。如果fopen函數執行失敗,就會返回false,那麼就會判斷後面的表達式是否為真了。
結果執行了die()之後,不管返回什麼,程序都已經停止執行了,並且顯示指定的出錯信息,也就達到了調試的目的。
就這樣。:)