PHP 中以下值得計算結果為 false:
| 關鍵字 | boolean | false |
| 整型 | integer | 0 |
| 浮點型 | double | 0.0 |
| 字符串 | string | "" |
| 字符串 | string | "0" |
| 數組 | array | array() |
| 對象 | object | 空對象 php<5 |
| null | null | NULL |
例如 字符串"0":
<?php
$number = "0";
if($number) {
echo "string \"0\" is not false \r\n";
} else {
echo "string \"0\" is false \r\n"; // 輸出:string "0" is false
}
if(empty($number)) {
echo "string \"0\" is false \r\n"; // 輸出:string "0" is false
} else {
echo "string \"0\" is not false \r\n";
}
空數組:
<?php
$arr= array();
if($arr) {
echo 'array $arr is not false'."\r\n";
} else {
echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false
}
if(empty($arr)) {
echo 'array $arr is false'."\r\n"; // 輸出:array $arr is false
} else {
echo 'array $arr is not false'."\r\n";
}
空對象在 PHP 5 以上版本中計算結果不為 false:
$obj=(object)array();
if($obj) {
echo '$obj is not false'."\r\n"; // 輸出:$obj is not false
} else {
echo '$obj is false'."\r\n";
}
if(empty($obj)) {
echo '$obj is false'."\r\n";
} else {
echo '$obj is not false'."\r\n"; // 輸出:$obj is not false
}
注意:字符串"0.0"、字符串"00"、包括一個空格字符的字符串" "、字符串"false" 、整型 -1 都不為 false:
<?php
$number = "0.0";
if($number) {
echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false
} else {
echo "string \"0.0\" is false \r\n";
}
if(empty($number)) {
echo "string \"0.0\" is false \r\n";
} else {
echo "string \"0.0\" is not false \r\n"; // 輸出:string "0.0" is not false
}
正確地檢查一個變量是否為空應該使用:
<?php
if (empty($var)) { ... }
