我刚看到这段代码:
array_filter( array_map('intval', $array) );
似乎返回$ array转换为int的所有条目,其中数字为> 0
但是我在手册页上看不到这是定义的。如果回调函数的计算结果为true,则应该返回数组值。但是这里没有定义回调函数。
令人困惑的是,手册页上的回调函数是可选的:http://php.net/manual/en/function.array-filter.php
答案 0 :(得分:17)
从数组中删除空值或等效值:
示例#2 array_filter()没有回调
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
<强>结果强>
Array
(
[0] => foo
[2] => -1
)
请参阅手册中的original documentation。
答案 1 :(得分:8)
如果您在链接的页面上稍微阅读了一下,您会发现,&#34;如果没有提供回调,则将删除所有数组条目等于FALSE(请参阅转换为布尔值)。&# 34;