通過對
格式: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
- $var = '';
- if (isset($var)) // 空值、0、false
的賦值結果均被isset判為 TRUE,所以後邊
的文本將被打印出來。- print "blank value -> isset = true. ";
- $var = NULL;if (!isset($var)) //
NULL將被isset判為 FALSE- print "NULL value -> isset = false. ";
//以下使用 var_dump 輸出 isset() 的返回值。- $a = "test";
- $b = "anothertest";
- var_dump( isset($a) ); // TRUE
- var_dump( isset ($a, $b) ); // TRUE
- unset ($a);
- var_dump( isset ($a) ); // FALSE
- var_dump( isset ($a, $b) ); // FALSE
- ?>
PHP函數isset()同樣適用於數組元素和對象元素的檢查。若數組或對象實例未被定義,則檢測其中的數組元素/對象元素將被返回false。
- < ?php
- $a = array ('test' => 1, 'hello' => NULL);
- var_dump( isset ($a['test']) ); // TRUE
- var_dump( isset ($a['foo']) ); // FALSE
- var_dump( isset ($a['hello']) ); // FALSE
- // 鍵 'hello' 的值等於 NULL,所以被認為是未置值的。
- // 如果想檢測 NULL 鍵值,可以試試下邊的方法。
- var_dump( array_key_exists('hello', $a) ); // TRUE
- ?>
注: 由於這是一個語言結構而非函數,因此PHP函數isset()無法被變量函數調用。