首页 > 后端开发 > PHP问题 > php怎么去掉数组为空的元素

php怎么去掉数组为空的元素

PHPz
发布: 2023-04-04 14:10:02
原创
647 人浏览过

PHP是一种流行的服务器端编程语言,常用于Web开发和动态网站的创建。在PHP编程中,数组是一个常见的数据类型。有时候我们需要过滤掉数组中为空的元素,本篇文章就将为您介绍如何去掉数组为空的方法。

1.使用foreach循环遍历数组

可以使用foreach循环遍历数组,然后使用empty()函数判断每个元素是否为空,如果为空则使用unset()函数移除该元素。代码如下:

$arr = array('php', '', 'java', '', 'python');
foreach($arr as $key=>$value){
    if(empty($value)){
        unset($arr[$key]);
    }
}
print_r($arr);
登录后复制

运行结果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登录后复制
登录后复制
登录后复制

2.使用array_filter()函数

PHP提供了一个内置函数array_filter(),该函数可以过滤掉数组中为空的元素。代码如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_filter($arr);
print_r($arr);
登录后复制

运行结果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登录后复制
登录后复制
登录后复制

3.使用array_diff()函数

另外还可以使用array_diff()函数,该函数可以返回两个数组之间的差集,我们可以将一个空数组和原数组进行差集运算,将差集结果返回。代码如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_diff($arr, array(''));
print_r($arr);
登录后复制

运行结果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登录后复制
登录后复制
登录后复制

4.使用array_reduce()函数

最后,我们可以使用array_reduce()函数,该函数从左到右迭代数组,将每个元素与之前的结果结合。我们可以在回调函数中判断元素是否为空,如为空则返回之前的结果,否则将元素加入结果数组中。代码如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_reduce($arr, function($result, $val){
    if(!empty($val)){
        $result[] = $val;
    }
    return $result;
}, array());
print_r($arr);
登录后复制

运行结果:

Array
(
    [0] => php
    [1] => java
    [2] => python
)
登录后复制

以上就是几种去掉数组为空的方法,具体可以根据自己的需求选择适合自己的方法。

以上是php怎么去掉数组为空的元素的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板