php怎么除去数组里的空值

原创
ithorizon 7个月前 (10-03) 阅读数 103 #PHP

PHP怎样去除数组中的空值

在PHP开发过程中,我们频繁会遇到需要清理数组中空值的情况。这里的空值包括:null、空字符串、0、false以及未赋值的元素。以下将介绍几种常用的方法来实现这一目的。

使用array_filter函数

最明了的方法是使用PHP内置的array_filter函数,它允许我们传入一个回调函数来决定哪些元素应该被保留。

function removeEmpty($var) {

return !empty($var);

}

$array = array(0, 1, 2, '', 'test', null, false, '0');

$cleanArray = array_filter($array, 'removeEmpty');

print_r($cleanArray);

上面的代码定义了一个回调函数removeEmpty,它检查元素是否不为空。然后我们用array_filter函数结合这个回调函数过滤数组。

使用循环遍历

如果不期待使用内置函数,可以手动遍历数组,并移除空值。

$array = array(0, 1, 2, '', 'test', null, false, '0');

$cleanArray = array();

foreach ($array as $value) {

if (!empty($value)) {

$cleanArray[] = $value;

}

}

print_r($cleanArray);

在这个例子中,我们通过foreach循环遍历原始数组,然后使用empty函数检查每个元素,只有在元素非空的情况下,它才会被添加到新数组$cleanArray中。

使用array_reduce函数

另外,也可以使用array_reduce函数遍历数组,它会在每一步迭代中将当前元素和累积值(初始为数组的第一个值)传递给回调函数。

$array = array(0, 1, 2, '', 'test', null, false, '0');

function removeEmpties($carry, $item) {

if (!empty($item)) {

$carry[] = $item;

}

return $carry;

}

$cleanArray = array_reduce($array, 'removeEmpties', []);

print_r($cleanArray);

总结

以上就是几种在PHP中去除数组内空值的方法。开发者可以凭借自己的需求和喜好选择合适的方法来处理数组数据。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: PHP


热门