判断PHP数组是否为空的代码

yipeiwu_com6年前PHP代码库

PHP判断数组为空首选方法:count($arr),size($arr);

复制代码 代码如下:

$arr= array("");
echo count($arr);
echo size($arr);
//输出1

复制代码 代码如下:

$arr= array();
echo count($arr);
echo size($arr);
//输出0


PHP判断数组为空方法2:empty($arr);
复制代码 代码如下:

$arr= array("");
$result = empty($arr);
//$result = false
$arr = array();
$result = empty($arr);
//$result = true


这两种方法足以应对简单数组和多维数组是否为空的判断问题,个人一般用empty()来做数组非空判断,这样感觉代码看起来更容易理解。

判断数组是否为空 使用这个函数就好了 count 如果输出为0的话 那么就这个数组就是空的的下面就是简单的测试代码了。php 判断数组是否为空 代码列子
 

复制代码 代码如下:

<?php
$arr = array();
echo count($arr);
?>

输出为 0 的话数组为空

PHP判断数组为空方法2:empty($arr);

复制代码 代码如下:

$arr= array("");
$result = empty($arr);
//$result = false
$arr = array();
$result = empty($arr);
//$result = true

PHP判断数组为空之一、for循环

最简单也是最直接的方法,用for循环来遍历数组。对于已知维数的数组可以判断,但如果是未知的多维数组,该怎么办?

PHP判断数组为空之二、implode();

用implode()将数组输出为字符串,判断输出的字串是否为空。初看上去似乎是个不错的方法,可惜跟上一点一样,对于二维以上数组就不行了。举个例子:

复制代码 代码如下:

$arr= array(array(),array(),arr(www.jb51.net)ay());
$str = implode(',',$arr);
if(empty($str)) echo "空";
else echo "非空";

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

复制代码 代码如下:

$arr= array("","","");
echo count($arr);

PHP判断数组为空之四、in_array('', $arr));

复制代码 代码如下:

$arr= array("d","s","");
echo in_array('', $arr);

这个只能说明数组中有空的元素,不能证明数组是空的。很明显也不行。

PHP判断数组为空之五、empty();

这个cpyeh觉得跟前面几种方法差不多

复制代码 代码如下:

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

结果还是非空

PHP判断数组为空之六、用strlen(),没内容的话好象长度都为1
我们还可以在以上例子上加一句print_r($arr);看看。

相关文章

php设计模式之单例模式实例分析

本文实例讲述了php设计模式之单例模式。分享给大家供大家参考。具体分析如下: 单例模式(职责模式): 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任...

超级好用的一个php上传图片类(随机名,缩略图,加水印)

Upimages.class.php php上传类复制代码 代码如下:<?php class UpImages { var $annexFolder = "upload";//附件...

PHP中$GLOBALS与global的区别详解

PHP中$GLOBALS和global都可以实现全局变量的功能,所以很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。$GLOBALS 是一个超级全局变量,其实...

PHP实现批量重命名某个文件夹下所有文件的方法

本文实例讲述了PHP实现批量重命名某个文件夹下所有文件的方法。分享给大家供大家参考,具体如下: 自己手动这样一个个的重命名,累啊。所以还是偷懒一下。 我重命名的规则是把所有有空格的全部替...

PHP文章按日期(月日)SQL归档语句

复制代码 代码如下: select FROM_UNIXTIME(pubtime, '%Y-%m') as pubtime, count(*) as cnt from articles g...