Example #1 一個簡單的 empty() 與 isset() 的比較。
<?php
$var = 0;
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>
Example #2 在字符串偏移量上使用empty()
PHP 5.4 修改了當傳入的是字符串偏移量時, empty() 的行為
<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>
以上例程在PHP 5.3中的輸出:
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
以上例程在PHP 5.4中的輸出:
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)