今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法:
<br />$entry = array( </p><p> 0 => '蓝色夏威夷的博客', </p><p> 1 => false, </p><p> 2 => 1, </p><p> 3 => null, </p><p> 4 => '', </p><p> 5 => 'http://www.gaodaima.com', </p><p> 6 => '0',</p><p> <div>本文#来源gaodai.ma#com搞##代!^码7网</div><pre>搞代gaodaima码
7 => array(),
8 => 0
);
$validarr = array_filter($entry);
print_r($validarr);
//输出结果:
Array
(
[0] => 蓝色夏威夷的博客
[2] => 1
[5] => http://www.gaodaima.com
)
一些可以转化为布尔型FALSE的数组元素都被移除了,对我们想要得到一个有效的数组作了一个非常全面的过滤。