PHP中判断一个数组是否为空?

GOOGLE之后整理出以下办法:
  一、for循环
    最简单也是最直接的方法,用for循环来遍历数组。对于已知维数的数组可以判断,但如果是未知的多维数组,该怎么办?
  二、implode();
    用implode()将数组输出为字符串,判断输出的字串是否为空。初看上去似乎是个不错的方法,可惜跟上一点一样,对于二维以上数组就不行了。举个例子:

$arr= array(array(),array(),array());
$str = implode(‘,’,$arr);

if(empty($str)) echo “空”;
else echo “非空”;

很明显$arr是个含有三个空数组的二维数组,应该也算是空的,可是输出的确是非空。判断失败。
  三、count();

$arr= array(“”,””,””);
echo count($arr);

  四、in_array(”, $arr));
$arr= array(“d”,”s”,””);
echo in_array(”, $arr);

这个只能说明数组中有空的元素,不能证明数组是空的。很明显也不行。
  五、empty();
    这个cpyeh觉得跟前面几种方法差不多

$arr= array(“”,””,””);
if(empty($arr)) echo “空”;
else echo “非空”;

结果还是非空
          六、用strlen(),没内容的话好象长度都为1
  

可以在以上例子上加一句print_r($arr);看看

5 回复
  1. jig says:

    看了最后还是没给出具体的解决办法, 但个人觉得上面的 这些方法在对具体情况的时候具体的应用。个人比较喜欢用empty判断 [握手]

评论已关闭。