foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢?
比如:
代码如下 | 复制代码 |
$colors= array('red','blue','green','yellow'); 例2 $capitals= array("Ohio"=> "Columbus","Towa"=> "Des Moines","Arizona"=> "Phoenix"); |
while()
while() 通常和 list(),each()配合使用。
#example2:
代码如下 | 复制代码 |
$colors = array('red','blue','green','yellow'); while(list($key,$val) = each($colors)) { 显示结果: Other list of red. |
3. for()
#example3:
代码如下 | 复制代码 |
for ($i = 0;$i < count($arr); $i++) { the number is zero. |
========= 以下是函数介绍 ==========
key()
mixed key(array input_array)
key()函数返回input_array中位于当前指针位置的键元素。
#example4
代码如下 | 复制代码 |
Can you name the capitals of these states? ";while($key = key($capitals)) { echo $key." "; next($capitals); //每个key()调用不会推进指针。为此要使用next()函数 } ?> Can you name the capitals of these states? |
each() 函数遍历数组
例子 1
代码如下 | 复制代码 |
$people = array("Peter", "Joe", "Glenn", "Cleveland"); 输出: Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 ) |
子 2
each() 经常和 list() 结合使用来遍历数组。本例与上例类似,不过循环输出了整个数组:
代码如下 | 复制代码 |
$people = array("Peter", "Joe", "Glenn", "Cleveland"); reset($people); while (list($key, $val) = each($people)) |
输出:
0 => Peter
1 => Joe
2 => Glenn
3 => Cleveland
多维数组的递归遍历
代码如下 | 复制代码 |
/* $arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5); echo ' '; |