首页 > 后端开发 > PHP问题 > php怎么去除数组的空值

php怎么去除数组的空值

WBOY
发布: 2023-05-11 10:26:06
原创
1347 人浏览过

在PHP中,有时候我们需要去除数组中的空值,以便我们更好地处理数据。本文将探讨使用不同方法去除数组中的空值。

方法一:使用array_filter函数

array_filter()函数是PHP内置的用来过滤数组元素的函数,当传递回调函数时,该函数返回一个只包含回调函数返回值不为 FALSE(即不为null、0、“ ”、“0”、false、array())的新数组。我们可以使用该函数来去除数组中的空值,示例代码如下:

$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array());
$arr = array_filter($arr); //过滤
print_r($arr); //只剩下 'foo'、'bar'
登录后复制

结果如下:

Array
(
    [0] => foo
    [5] => bar
)
登录后复制
登录后复制
登录后复制

方法二:使用foreach循环遍历数组

我们也可以使用foreach循环遍历数组,手动去除其中的空值,示例代码如下:

$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array());
foreach ($arr as $key => $value) {
    if (empty($value)) {
        unset($arr[$key]); //去除数组中的空值
    }
}
print_r($arr); //只剩下 'foo'、'bar'
登录后复制

结果同样为:

Array
(
    [0] => foo
    [5] => bar
)
登录后复制
登录后复制
登录后复制

方法三:使用array_diff函数

我们还可以使用array_diff()函数,该函数用于返回一个数组,该数组包含了所有在第一个参数数组中但不在其余参数数组中的值。也就是说,我们可以将空值放到第二个参数中去,示例代码如下:

$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array());
$arr = array_diff($arr, array('')); //去除数组中的空值
print_r($arr); //只剩下 'foo'、'bar'
登录后复制

结果同样为:

Array
(
    [0] => foo
    [5] => bar
)
登录后复制
登录后复制
登录后复制

综上所述,我们有多种方法可以去除PHP数组中的空值,其中使用array_filter()函数最为方便。但是,如果你需要手动处理数组中的每一个元素,那么使用foreach循环可能会更好一些。

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

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