1. 變量和 0 比較
如果一個變量 $va 是 NULL,沒有被設置過。
if($va == 0){
echo "here is 0";
}else{
echo "不是0";
}
按照常規的想法,變量$va 是 NULL,應該走到 “不是0” 那裡。 但是運行結果卻恰恰相反,結果是 here is 0;
因為 == 是不比較數據類型的,當作一種類型比較了。 如上if(15 == '15') 也是跑到了第一個。
如果不想這樣有兩種方式。 換成($val === 0) 或者 提前加判斷(isset($val) && 0 == $val)
2 empty() isset()
empty() ""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的 如果為空,返回true
empty( 0 array() NULL) 都返回true
閱讀更多 老公城獅 的文章