看到一道關於empty()函數得面試題,覺得很有意思。研究問題要有深入的精神。
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
echo empty($a1) ? 'true' : 'false';
echo empty($a2) ? 'true' : 'false';
echo empty($a3) ? 'true' : 'false';
echo empty($a4) ? 'true' : 'false';
echo empty($a5) ? 'true' : 'false';
echo empty($a6) ? 'true' : 'false';
echo empty($a7) ? 'true' : 'false';
echo empty($a8) ? 'true' : 'false';
輸出依次是 true true true true true false true false
手冊:
empty
判斷變量是否已配置。
語法: bool empty(mixed var);
返回值: bool
函數種類: PHP 系統功能
|
|
內容說明 |
* 若變量存在且其值爲""、0、"0"、NULL、、FALSE、 array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
* 若變量存在且值不爲""、0、"0"、NULL、、FALSE、 array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE
* 版本:PHP 3, PHP 4, PHP 5
所以,當字符串的值爲0時,也返回true,就是執行empty內部的語句。