通過對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() 的一個簡單比較
複製程式碼 程式碼如下:
<?php
$var = 0;
// 結果為 true,因為 $var 為空
if (empty($var)) {
echo '$var is either 0 or not set at all';
}
// 結果為 false,因為 $var 已設定
if (!isset($var)) {
echo '$var is not set at all';
}
?>
注: 由於這是一個語言結構而非函式,因此它無法被變數函式呼叫。
注: empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
下面是經過指令碼之家測試過的一段isset與empty函式詳細例子的程式碼,看完這個基本上就差不多了:
複製程式碼 程式碼如下:
<?php
error_reporting(E_ALL);
echo '<B>未定義$var</b><Br>';
echo "isset測試:<Br>";
if ( isset ( $var ))
{
echo '變數$var存在!<Br>' ;
}
echo "empty測試:<Br>";