这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以 是下标值,也可以是字符串。比如book[0]=1中的"0",book[id]="001"中的"id". 程序实例1: 复制代码 代码如下: <?php /*-------------------------------------------------------------------------*/ /* foreach example 1: value only */ echo "foreach example 1: value only "."<br />"; $a = array(1, 2, 3, 17); foreach ($a as $v) { echo "Current value of ".$a.":". $v."<br />"; } ?> // 运行结果 foreach example 1: value only Current value of $a: 1 Current value of $a: 2 Current value of $a: 3 Current value of $a: 17
2 复制代码 代码如下: /*-------------------------------------------------------------------------*/ /* foreach example 2: value (with key printed for illustration) */ echo "<br />"."<br />"."foreach example 2: value (with key printed for illustration) "."<br />"; $a = array(1, 2, 3, 17); $i = 0; /* for illustrative purposes only */ foreach ($a as $v) { echo ""$a[$i] => $v"."<br />"; $i++; } // 程序运行结果 foreach example 2: value (with key printed for illustration) $a[0] => 1 $a[1] => 2 $a[2] => 3 $a[3] => 17
3 复制代码 代码如下: /*-------------------------------------------------------------------------*/ /* foreach example 3: key and value */ echo "<br />"."<br />"."foreach example 3: key and value "."<br />"; $a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17 ); foreach ($a as $k => $v) { echo ""$a[$k] => $v"."<br />"; } // 程序运行结果 foreach example 3: key and value $a[one] => 1 $a[two] => 2 $a[three] => 3 $a[seventeen] => 17
4 复制代码 代码如下: /*-------------------------------------------------------------------------*/ /* foreach example 4: multi-dimensional arrays */ echo "<br />"."<br />"."foreach example 4: multi-dimensional arrays "."<br />"; $a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { foreach ($v1 as $v2) { echo "$v2"n"; } } // 程序运行结果 foreach example 4: multi-dimensional arrays a b y z