Home  >  Article  >  Backend Development  >  PHP中判断一个数组是不是为空代码

PHP中判断一个数组是不是为空代码

WBOY
WBOYOriginal
2016-06-13 12:30:38826browse

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

一、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 "非空";



结果还是非空



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

  基本上cpyeh能想到的加上网上找到的也就以上这些,不明白的是网上居然有人会提到is_array(),可能是对php还不是很了解,需要多翻翻手册。很遗憾最终还是找不到一个完美的解决方法,不过对于一般的应用,第一种或第二种应该可以满足了,cpyeh选了方便的第二种。如果对以上例子有疑问欢迎留言在此互相交流。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn