我想从数组中过滤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[] = $value;
}
}
print_r($result);
输出应为
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => Test
[5] => 0
)
有什么想法吗?
答案 0 :(得分:0)
你可以使用php内置函数array_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
)
这应该有所帮助。