close
在PHP 中empty 是用來 判斷變量是否已配置。is_null是要判斷變數是否為 NULL。
譬如我們在前一個頁面透過表單傳遞(POST 或 GET)到一支PHP程式,我們要判斷是否有傳資料過來。
有時候觀念不正確的話,就會以為用is_null的方式來判斷。但是怎麼試都無法如預期的一樣。
拿個例子來看吧!
$A; echo "empty:".empty($A)."<BR>"; echo "is_null:".is_null($A); |
結果會是
empty:1 is_null:1 |
因為$A已經宣告,但是都沒有任何配置值。所已回傳都會是1,表示是空值,也是null。
但是你用form表單傳遞過來的訊息,不論你傳過來的是否有值,但是都這個變數都已經存在了。所以當你用is_null來判斷是否有傳遞過來,就會出現錯誤。就像下方的例子。
$A=""; echo "empty:".empty($A)."<BR>"; echo "is_null:".is_null($A); |
結果會是
empty:1 is_null: |
這個變數已經被宣告,但是空值。所已is_null會回傳false(空值)。
結論是:如果你是用傳遞表單,由A.html傳到 B.php,在B.php裡面要判斷千萬記著,不要用is_null去判斷是否為空值,應該是要用empty來判斷。因為用form表單傳遞過來的訊息,不論你傳過來的是否有值,但是都這個變數都已經存在了。
全站熱搜