在编码的过程中,对指定的数组进行遍历是再常见不过的事了。在遍历的过程中,很多的语言都是利用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>";
}
3.while(list()=each())
这种方式比较的巧妙,用的频率不是很高,不过看代码的时候遇到它的话,起码得能看懂才行呀。最好还是掌握吧,只是稍微的麻烦了一点点。
<?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>";
}
?>
以上的示例代码均为一维数组,如果要对二维,三维甚至更高维数的数组进行遍历,就一直嵌套加个if语句吧。一般用的比较多的也就是二维数组了,我想也没有什么人非得写个十维数组把,要是那样的话,遍历的时候,那滋味可就不是一般的酸爽了。