empty — 檢查一個變數是否為空白
Report a bug 描述
bool empty ( mixed $var )
如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認為是空的,如果 var 為空白,則返回 TRUE。
除了當變數沒有置值時不產生警告之外,empty() 是 (boolean) var 的反義詞。參見轉換為布爾值擷取更多資訊。
Example #1 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';
}
?>
Note: 因為是一個語言構造器而不是一個函數,不能被 可變函數 調用。
Note:
empty() 只檢測變數,檢測任何非變數的東西都將導致解析錯誤。換句話說,後邊的語句將不會起作用: empty(addslashes($name))。
The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)
對"空數組"的理解:array() (an empty array)
複製代碼 代碼如下:<?php
$array1=array();
print_r($array1);
if(empty($array1)){
echo '對empty()來說是空數組(an empty array)';
}
else{
echo '對empty()來說是非空數組(an noempty array)';
}
?>
//顯示結果:######################
Array
(
)
//對empty()來說是an empty array
###############################
<?php
$array1=array();
$array1[]='';
print_r($array1);
if(empty($array1)){
echo '對empty()來說是空數組(an empty array)';
}
else{
echo '對empty()來說是非空數組(an noempty array)';
}
?>
//顯示結果:######################
Array
(
[0] =>
)
//對empty()來說是非空數組(an noempty array)
//###############################
//這個並不是空數組,因為它有一個元素為空白字元(""),要注意和Null 字元("" (an empty string))區別;