在编码的过程中,对指定的数组进行遍历是再常见不过的事了。在遍历的过程中,很多的语言都是利用for循环进行遍历,方便快捷。但是PHP中,对于数组的下标与有些语言不同。PHP中数组的下标可以为字符串,也可以字符串和数字混合,也就是所谓的关联数组。如果下标是纯数字的话,那就是索引数组了。
1.for()
for()进行遍历时,有个局限,如果是关联数组的话,就不能根据下标的递增来遍历了,突然冒出了字符串的话,肯定会报错。所以在PHP中,for()能使用的范围也就是索引数组了。
<?php $arr[]="user"; $arr[]=25; $arr[]="man"; //打印数组 echo "<pre>"; print_r($arr); echo "</pre>"; //遍历数组 for($i=0;$i<count($arr);$i++){ echo $arr[$i]."<br>"; } ?>2.foreach()
foreach()遍历这种方式在PHP是属于男女通吃的最佳方式,管你是数字还是字符串,哥不看你下标加不加一,就是一个个干过来。而且很重要的一点就是简单高效。
<?php $arr["name"]="user"; $arr["age"]=25; $arr["sex"]="man"; $arr[]="teacher"; //打印数组 echo "<pre>"; print_r($arr); echo "</pre>"; //遍历数组 foreach($arr as $val){ echo $val."<br>"; } ?>如果需要打印键值对的话,稍微对foreach()做一下修改就可以了。
//遍历数组 foreach($arr as $key => $val){ echo $key.":".$val."<br>"; }
这种方式比较的巧妙,用的频率不是很高,不过看代码的时候遇到它的话,起码得能看懂才行呀。最好还是掌握吧,只是稍微的麻烦了一点点。
<?php $arr["name"]="user"; $arr["age"]=25; $arr["sex"]="man"; $arr[]="teacher"; //打印数组 echo "<pre>"; print_r($arr); echo "</pre>"; //遍历数组 while(list($key,$val)=each($arr)){ echo $key.':'.$val."<br>"; } ?>
原文地址:http://blog.csdn.net/wzqnls/article/details/38731659