在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表單傳遞過來的訊息,不論你傳過來的是否有值,但是都這個變數都已經存在了。

arrow
arrow
    全站熱搜

    阿基 發表在 痞客邦 留言(1) 人氣()