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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值