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中去除数组内空值的方法。开发者可以凭借自己的需求和喜好选择合适的方法来处理数组数据。