php中判斷變數是否為空

ndblog發表於2014-03-28

從資料庫中取出值後判斷是否為空,這個看起來很簡單,只要和null比較一下就可以了,其實不然,

if($obj==null){ 
} 

這樣寫會報錯的:Notice: Trying to get property of non-object problem,

查了一下發現需要使用下面的寫法

if (isset($obj)) { 
echo "This var is set set so I will print."; 
} 

這個isset是做什麼的呢? 

isset函式是檢測變數是否設定。 

格式:bool isset ( mixed var [, mixed var [, …]] ) 

返回值: 

若變數不存在則返回 FALSE 
若變數存在且其值為NULL,也返回 FALSE 
若變數存在且值不為NULL,則返回 TURE 
同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE 
如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL 的變數,將返回 FALSE。同時要注意的是一個 NULL 位元組(” ″)並不等同於 PHP 的 NULL 常數。

警告: isset() 只能用於變數,因為傳遞任何其它引數都將造成解析錯誤。若想檢測常量是否已設定,可使用 defined() 函式。 

看來剛才我那邊的判斷所出的問題,就是因為這個“是一個 NULL 位元組(” ″)並不等同於 PHP 的 NULL 常數”。

作者:Tyler Ning

出處:http://www.cnblogs.com/tylerdonet/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,如有問題,可以通過以下郵箱地址williamningdong@gmail.com
 聯絡我,非常感謝。


相關文章