foreach()有兩種用法:
foreach(array_name as $value) { statement; }
這裡的array_name是你要遍歷的數組名,每次循環中,array_name數組的當前元素的值被賦給$value,並且數組內部的下標向下移一 步,也就是下次循環回得到下一個元素。
foreach(array_name as $key => $value) { statement; }
這裡跟第一種方法的區別就是多了個$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
5
/*-------------------------------------------------------------------------*/ /* foreach example 5: dynamic arrays */ echo '<br />'.'<br />'."foreach example 5: dynamic arrays ".'<br />'; foreach (array(1, 2, 3, 4, 5) as $v) { echo "$v"n"; } // 程序運行結果 foreach example 5: dynamic arrays 1 2 3 4 5
也可以這麼用:
$messageNav['首頁'] =ROOT_PATH; $messageNav['人才交流'] ="#" $messageNav['動態專欄'] ="hragent/cn/" <?php $i = 0;foreach ($messageNav as $key=>$value):?> <?php if ($i != count($messageNav) - 1):?> <a href="<?=$value?>"><?=$key?></a>> <?php else:?> <a href="<?=$value?>" class="onlink"><?=$key?></a> <?php endif;?> <?php $i++;endforeach;?>