使用foreach循环输出数组时,习惯使用if判断来过滤空元素,这种方法并不高效,如果数组中有很多空元素,会导致多余的foreach。合理的做法应该是数组中的空元素删除后再foreach。
删除数组中的空元素可以使用array_filter()函数,array_filter()函数的作用是用回调函数过滤数组中的元素,如果没有回调函数,默认就删除数组中值为false、null或空值的元素。
示例:
<?php
$arg = array(
0 => '',
1 => false,
2 => null,
3 => 'book',
4 => 1
);
$resultArray = array_filter($arg);
foreach($resultArray as $result){
echo $result;
}
?>
输出结果为:
book
1