利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,
如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变
下面是举例用法:
$array = array(
0 => '别再等', 1 => false, 2 => 1, 3 => null, 4 => '', 5 => 'http://www.biezaideng.com', 6 => '0' ); print_r(array_filter($array)); ?>上面代码输出结果为:
Array
([0] => 别再等[2] => 1[5] => http://www.biezaideng.com)
这样就把为空或者null或者false的值排除掉
上面我们再进行优化:
function delEmpty($v)
{ if ($v==="" || $v==="php") //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值 { return false; } return true; } $a=array(0=>"pig",1=>"Cat",2=>"",3=>"php"); print_r(array_filter($a,"delEmpty"));