array_filter() 过滤数组中的空白元素
<?php function myfunction($v) { if ($v==="Horse") { return true; } return false; } $a=array(0=>"Dog",1=>"Cat",2=>"Horse"); print_r(array_filter($a,"myfunction")); ?>
判断数组中元素是否为空的时候,一般用foreach,因为具体应用中多是要foreach,其实如果单纯的过滤php空数组的话,可以使用php函数array_filter() .
array array_filter ( array [, callback callback] )
array_filter() 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
如果没有提供 callback 函数,array_filter() 将删除 array 中所有等值为 FALSE 的条目.这也就是过滤数组空白元素的精华所在.
如下例:
Php代码
<?php $entry = array( 0 => 'k686绿色软件', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.k686.com', 6 =>'0' ); print_r(array_filter($entry)); ?>
上面代码输出结果为:
Array ( [0] => k686绿色软件 [2] => 1 [5] => http://www.k686.com )
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.
$arr=array_filter($arrl);
也可以这样用的。
千里之行,始于足下。改变现在,就是改变未来。改变未来,从现在开始。