我想删除 NULL 、 FALSE 和 '' 的值。
NULL
FALSE
''
我使用的是 array_filter ,但它也去掉了 0 。
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) {