牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2011-09-27 投稿人: 浏览次数:149

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);看看

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。