搜索
首页后端开发PHP问题php怎么获取数组不为空的长度

在PHP中,数组是一种非常常用的数据结构,许多编程场景中我们经常需要使用到数组。那么在处理数组时,经常需要考虑到数组是否为空以及如何获取数组的长度。

PHP提供了许多函数来处理数组,比如判断数组是否为空的函数empty(),判断数组元素是否存在的函数isset(),获取数组长度的函数count()等等。本文将重点介绍如何获取数组不为空的长度。

当我们使用count()函数来获取数组长度时,如果数组为空,将返回0。但是在某些场景中,需要获取数组不为空的长度,那该怎么办呢?

一种常见的方法是使用循环来遍历数组,统计其中不为空的元素个数。具体实现方式如下所示:

function countNotNull($arr){
    if(!is_array($arr)) return 0;
    $count = 0;
    foreach($arr as $item){
        if(!empty($item)){
            $count++;
        }
    }
    return $count;
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull($arr); // output: 3

以上代码首先判断数组是否为空以及是否为数组类型,防止传入非法参数导致的错误。接着通过遍历每一个元素,统计其中不为空的元素个数。最后返回该值。

这种方法虽然比较简单,但是在数组元素比较多时,效率较低。另外,在多次使用该函数时,可能会带来一些重复的工作。

一种更高效的方案是使用array_filter()函数来过滤掉空元素,再使用count()函数来获取数组的长度。具体实现方式如下所示:

function countNotNull2($arr){
    if(!is_array($arr)) return 0;
    $newArr = array_filter($arr);
    return count($newArr);
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull2($arr); // output: 3

以上代码先进行了参数的合法性判断,然后使用array_filter()函数过滤掉空元素,返回一个新的数组。再使用count()函数获取该新数组的长度,即为数组不为空的长度。

需要注意的是,使用array_filter()函数过滤掉的是空元素(如0、“”、null、false等),而不是仅仅过滤空字符串。

总之,在PHP中,获取数组不为空的长度确实有多种方法,以上介绍的只是常见的几种。读者可以根据实际需求来选择适当的方法。

以上是php怎么获取数组不为空的长度的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具