国产视频appphp中的判斷變量的函數isset()與empty()經常容易搞混,今天無事網上搜索點資料整理了一下下,當做筆記記錄下來,以方便以后再在這個問題上蒙圈的時候還可以翻出來查看一下下。。。

isset()函數

作用:一般用來檢測變量是否設置

国产视频app若變量不存在則返回 FALSE 

若變量存在且其值為NULL,也返回 FALSE 

若變量存在且值不為NULL,則返回 TURE 

国产视频app同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE 

更多說明: 

使用 unset() 釋放變量之后,它將不再是 isset()。 

国产视频appPHP函數isset()只能用于變量,傳遞任何其它參數都將造成解析錯誤。 

檢測常量是否已設置可使用 defined() 函數。 

empty()函數

国产视频app作用:檢測變量是否為空

若變量不存在則返回 TRUE 

国产视频app若變量存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE 

国产视频app若變量存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE 

国产视频app更多說明: 

国产视频appempty()的返回值=!(boolean) var,但不會因為變量未定義而產生警告信息。參見轉換為布爾值獲取更多信息。 

empty() 只能用于變量,傳遞任何其它參數都將造成Paser error而終止運行。 

国产视频app檢測常量是否已設置可使用 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';  
}  
?>

国产视频app注: 由于這是一個語言結構而非函數,因此它無法被變量函數調用。 

注: empty() 只檢測變量,檢測任何非變量的東西都將導致解析錯誤。換句話說,后邊的語句將不會起作用: empty(addslashes($name))。   

<?php  
error_reporting(E_ALL);  
echo '<B>未定義$var</b><Br>';  
echo "isset測試:<Br>";  
if ( isset ( $var ))  
{  
echo '變量$var存在!<Br>' ;  
}  
echo "empty測試:<Br>";  
if ( empty ( $var )){  
echo '變量$var的值為空<Br>';  
}  
else  
{  
echo '變量$var的值不為空<Br>';  
}  
echo "變量直接測試:<Br>";  
if ( $var ){  
echo '變量$var存在!<Br>';  
}  
else {  
echo '變量$var不存在!<Br>';  
}  
echo '----------------------------------<br>';  
echo '<B>$var = \'\'</b><Br>';  
echo "isset測試:<Br>";  
$var = '';  
if ( isset ( $var ))  
{  
echo '變量$var存在!<Br>' ;  
}  
echo "empty測試:<Br>";  
if ( empty ( $var )){  
echo '變量$var的值為空<Br>';  
}  
else  
{  
echo '變量$var的值不為空<Br>';  
}  
echo "變量直接測試:<Br>";  
if ( $var ){  
echo '變量$var存在!<Br>';  
}  
else {  
echo '變量$var不存在!<Br>';  
}  
echo '----------------------------------<br>';  
echo '<B>$var = 0</b><Br>';  
echo 'isset測試:<Br>';  
$var = 0 ;  
if ( isset ( $var ))  
{  
echo '變量$var存在!<Br>' ;  
}  
echo "empty測試:<Br>";  
if ( empty ( $var )){  
echo '變量$var的值為空<Br>';  
}  
else  
{  
echo '變量$var的值不為空<Br>';  
}  
echo "變量直接測試:<Br>";  
if ( $var ){  
echo '變量$var存在!<Br>';  
}  
else {  
echo '變量$var不存在!<Br>';  
}  
echo '----------------------------------<br>';  
echo '<B>$var = null</b><Br>';  
echo 'isset測試:<Br>';  
$var = null ;  
if ( isset ( $var ))  
{  
echo '變量$var存在!<Br>' ;  
}  
echo "empty測試:<Br>";  
if ( empty ( $var )){  
echo '變量$var的值為空<Br>';  
}  
else  
{  
echo '變量$var的值不為空<Br>';  
}  
echo "變量直接測試:<Br>";  
if ( $var ){  
echo '變量$var存在!<Br>';  
}  
else {  
echo '變量$var不存在!<Br>';  
}  
echo '----------------------------------<br>';  
  
echo '<B>$var ="php"</b><Br>';  
echo 'isset測試:<Br>';  
$var = "php";  
if ( isset ( $var ))  
{  
echo '變量$var存在!<Br>' ;  
}  
  
echo "empty測試:<Br>";  
if ( empty ( $var )){  
echo '變量$var的值為空<Br>';  
}  
else  
{  
echo '變量$var的值不為空<Br>';  
}  
echo "變量直接測試:<Br>";  
if ( $var ){  
echo '變量$var存在!<Br>';  
}  
else {  
echo '變量$var不存在!<Br>';  
}  
?>