php 怎么循环数组取有值的
1、使用foreach或者while的,利用这两个语法结构来输出有值的项或删除数组中的空元素,简单代码如下:
<?php foreach( $arr as $k=>$v){ if( $v ){ echo $arr[$k]; }else{ // unset( $arr[$k] ); } } ?>
foreach是将当前操作的数组进行copy,每操作一下foreach,都是copy了一个变量,页面里面如果有太多的foreach,会是一个很大的消耗。
2、使用array_filter函数,功能是利用回调函数来对数组进行过滤,如果没有回调函数,那么默认就是删除数组中值为false的项目。
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
输出值为:
Array ( [0] => foo [2] => -1 )