PHP

PHP之empty函数

PHP

Posted by Waldo on August 9, 2018

empty()函数

empty()是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。

总之:

  • 变量存在且其值是”“、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE

  • 若变量存在且值为”“、0、”0”、NULL、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE

一道面试题

$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
 
echo empty($a1) ? 'true' : 'false'; //输出true
echo empty($a2) ? 'true' : 'false'; //输出true
echo empty($a3) ? 'true' : 'false'; //输出true
echo empty($a4) ? 'true' : 'false'; //输出true
echo empty($a5) ? 'true' : 'false'; //输出true
echo empty($a6) ? 'true' : 'false'; //输出false
echo empty($a7) ? 'true' : 'false'; //输出true
echo empty($a8) ? 'true' : 'false'; //输出false

输出依次是: true true true true true false true false