我想删除NULL
、FALSE
和''
的值。
我使用的是array_filter
,但它也去掉了0
。
有什么函数可以做我想做的事吗?
array(NULL,FALSE,'',0,1) -> array(0,1)
发布于 2014-12-16 17:26:47
来自http://php.net/manual/en/function.array-filter.php#111091:
如果您想删除NULL、FALSE和空字符串,但保留0值,则可以使用strlen作为回调函数:
array_filter($array, 'strlen');
发布于 2013-01-03 14:26:55
在array_filter中使用自定义回调函数。有关如何使用回调函数,请参阅此示例,摘自PHP手册。示例中的回调函数是基于奇/偶过滤的;您可以编写一个小函数来根据您的需求进行过滤。
<?php
function odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
function even($var)
{
// returns whether the input integer is even
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>
发布于 2013-01-03 14:26:51
检查它是否小于1和大于-1,如果是,则不要删除它...
$arrayValue = (NULL,FALSE,'',0,1);
$newArray = array();
foreach($arrayValue as $value) {
if(is_int($value) || ($value>-1 && $value <1)) {
$newArray[] = $value;
}
}
print_r($newArray);
https://stackoverflow.com/questions/14134006
复制相似问题