Php 是否有更好的方法从数组中过滤NULL、false和空字符串(并保留零)?
我想从数组中过滤NULL、false和空字符串,但不过滤零值。这是我的代码,但根本不起作用:Php 是否有更好的方法从数组中过滤NULL、false和空字符串(并保留零)?,php,arrays,filter,Php,Arrays,Filter,我想从数组中过滤NULL、false和空字符串,但不过滤零值。这是我的代码,但根本不起作用: $array = array(1,2,3, "Test", NULL, 0, '', false); $result = array(); foreach($array as $key=>$value){ if(!empty($value) && !is_null($value) && false !== $value){ $result[]
$array = array(1,2,3, "Test", NULL, 0, '', false);
$result = array();
foreach($array as $key=>$value){
if(!empty($value) && !is_null($value) && false !== $value){
$result[] = $value;
}
}
print_r($result);
输出应该是
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => Test
[5] => 0
)
有什么想法吗?您可以使用php内置函数array\u filter和strlen来解决这个问题。在php.net上也有一个很好的参考:
$array = array(1,2,3, "Test", NULL, 0, '', false);
$result = array_filter($array, 'strlen');
print_r($result);
对我来说,结果是:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => Test
[5] => 0
)
这应该会有帮助。检查数组过滤器功能: