PHP isset()、empty()、is_null()的使用區別詳解


PHP的isset()函數 一般用來檢測變量是否設置 
格式:bool isset ( mixed var [, mixed var [, ...]] )

功能:檢測變量是否設置

返回值: 

若變量不存在則返回 FALSE 
若變量存在且其值為NULL,也返回 FALSE 
若變量存在且值不為NULL,則返回 TURE 
同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE 
版本:PHP 3, PHP 4, PHP 5 
更多說明: 
使用 unset() 釋放變量之后,它將不再是 isset()。 
PHP函數isset()只能用於變量,傳遞任何其它參數都將造成解析錯誤。 
檢測常量是否已設置可使用 defined() 函數。 

PHP的empty()函數 判斷值為否為空 

格式:bool empty ( mixed var ) 

功能:檢查一個變量是否為空 

返回值: 

若變量不存在則返回 TRUE 
若變量存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE 
若變量存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE 
版本:PHP 3, PHP 4, PHP 5 
更多說明: 
empty()的返回值=!(boolean) var,但不會因為變量未定義而產生警告信息。參見轉換為布爾值獲取更多信息。 
empty() 只能用於變量,傳遞任何其它參數都將造成Paser error而終止運行。 
檢測常量是否已設置可使用 defined() 函數。

3. is_null():

bool is_null ( mixed $var )   (php.net官方文檔的函數定義)
當參數滿足下面三種情況時,is_null()將返回TRUE,其它的情況就是FALSE
1、它被賦值為NULL
2、它還沒有賦值
3、它未定義,相當於unset(),將一個變量unset()后,不就是沒有定義嗎
讓我們來看一些例子:

$myvar = NULL;  
var_dump(is_null($myvar)); // TRUE 
$myvar1;      
var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable 
$num = 520; 
unset($num); 
var_dump(is_null($num)); //TRUE Notice: Undefined variable 
var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable 
  
$myvar = 0; is_null($myvar);   // FALSE 
$myvar = FALSE; is_null($myvar); // FALSE 
$myvar = ''; is_null($myvar);  // FALSE
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM