代码如下 | 复制代码 |
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 |
###############################
代码如下 | 复制代码 |
$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) ############################### |
这个并不是空数组,因为它有一个元素为空字符(""),要注意和空字符("" (an empty string))区别;
实际上就是
empty($x) 等于 !isset($x) || !$x
!empty($x) 等于 isset($x) && $x
关于empty函数语法
empty -- 检查一个变量是否为空
描述
bool empty ( mixed var)
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。