php 怎么循環(huán)數(shù)組取有值的
1、使用foreach或者while的,利用這兩個(gè)語(yǔ)法結(jié)構(gòu)來(lái)輸出有值的項(xiàng)或刪除數(shù)組中的空元素,簡(jiǎn)單代碼如下:
<?php foreach( $arr as $k=>$v){ if( $v ){ echo $arr[$k]; }else{ // unset( $arr[$k] ); } } ?>
foreach是將當(dāng)前操作的數(shù)組進(jìn)行copy,每操作一下foreach,都是copy了一個(gè)變量,頁(yè)面里面如果有太多的foreach,會(huì)是一個(gè)很大的消耗。
2、使用array_filter函數(shù),功能是利用回調(diào)函數(shù)來(lái)對(duì)數(shù)組進(jìn)行過(guò)濾,如果沒(méi)有回調(diào)函數(shù),那么默認(rèn)就是刪除數(shù)組中值為false的項(xiàng)目。
<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>
輸出值為:
Array ( [0] => foo [2] => -1 )