PHP isset()與empty()的使用區別詳解
引用
通過對PHP語言的學習,應該知道它是基於函數的一款HTML指令碼語言。龐大的函數庫支援著PHP語言功能的實現。下面我們為大家介紹有關PHP函數isset()與empty()的相關用法。
| 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() 函數。 |
例子: empty() 與 isset() 的一個簡單比較 複製代碼 代碼如下: 注: 由於這是一個語言結構而非函數,因此它無法被變數函數調用。 注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
下面是經過指令碼之家測試過的一段isset與empty函數詳細例子的代碼,看完這個基本上就差不多了:
複製代碼 代碼如下:未定義$var
'; echo "isset測試:
"; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = \'\'
'; echo "isset測試:
"; $var = ''; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = 0
'; echo 'isset測試:
'; $var = 0 ; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var = null
'; echo 'isset測試:
'; $var = null ; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } echo '----------------------------------
'; echo '$var ="php"
'; echo 'isset測試:
'; $var = "php"; if ( isset ( $var )) { echo '變數$var存在!
' ; } echo "empty測試:
"; if ( empty ( $var )){ echo '變數$var的值為空白
'; } else { echo '變數$var的值不為空白
'; } echo "變數直接測試:
"; if ( $var ){ echo '變數$var存在!
'; } else { echo '變數$var不存在!
'; } ?>