1. 程式人生 > >PHP isset()、empty()、is_null()的使用區別詳解

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

erro 警告 說明 variable efi some 布爾值 否則 sse

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

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