数组在PHP中是一个非常强大的武器,用起来方便、容易,由于使用起来异常灵活,用它就可以实现数据结构中的链表、栈、队列、堆以及所谓的字典、集合等,也可以转换成XML格式。
1、使用for
for语句遍历数组不是一个好选择,一般不会用,局限性太大,因为数组的下标很多时候不连续,或者是既有整数下标又有字符串下标,但存在这么一个情况,恰好是索引数组,且它的下标是连续的,那么这也是一种方法。
<?php $array = array('a', 'b', 'c', 'd', 'e'); $size = count($array); //取得数组单元个数 for($i=0; $i<$size; $i++) echo $array[$i].'<br/>';
(2)foreach遍历数组 ,可以遍历索引数组和关联数组:可以取value 和 value,key
取value foreach($atter as $value) { echo $value."<br>"; } 取value key foreach($atter as $key=>$value) { echo $key."=>".$value."<br>"; }
(3)each(),list()函数遍历数组 这种遍历方式可以遍历索引数组和关联数组
while(list($key,$value) = each($atter)) { echo $key."=>".$value."<br>"; }
A:each()函数,数组的里面的一个元素,依次向下取值,将该元素以数组的形式返回
print_r(each($atter)); echo "<br>"; print_r(each($atter)); echo "<br>"; print_r(each($atter)); reset($atter); //将指针复位,指向第一个元素 print_r(each($atter)); echo "<br>"; print_r(each($atter)); echo "<br>"; print_r(each($atter));
B:list()函数 只能取索引数组
list($a,$b,$c) = $atter; echo $a; echo $b; echo $c;
(4)指针遍历数组
do { echo key; echo current($atter); echo "<br>"; }while(next($atter))
指针:
echo current($atter); //取当前指针指向的内容 value echo key($atter); //取当前指针指向的索引 key echo "<br>"; next($atter); //将指针向下移动 echo current($atter); //取当前指针指向的内容 value echo key($atter); //取当前指针指向的索引 key echo "<br>"; prev($atter); //将指针向上移动 echo current($atter); //取当前指针指向的内容 value echo key($atter); //取当前指针指向的索引 key echo "<br>"; end($atter); //将指针指向最后一个 reset($atter); //将指针复位