woff 發表於 2013-2-1 18:59:52

foreach 敘述的用法?

foreach 敘述是由 PHP 4 開始所新增的語法,foreach 可以很方便地用來索引陣列資料結構裡的元素。其語法如下:
1.
foreach(array_expression as $value) statement
2.
foreach(array_expression as $key => $value) statement
第 1 種語法會對陣列 array_expression 做迴圈,並將目前所指元素的值放到 $value 變數裡,然後陣列裡的指標會跟著移到下一個元素的位置。
第 2 種語法則是和第一種語法相同,差別再於這種語法還會將元素的 key 放到 $key 變數裡。
使用 foreach 敘述時,PHP 會自動在迴圈一開始時將陣列的內部指標移到第一個元素的位置,因此不需要呼叫 reset() 函數。另外,foreach 在對陣列做迴圈時,會額外複制一份陣列再做迴圈的動作,這表示 foreach 敘述不會改變原來陣列內部指標的位置。
底下是一個利用 while 迴圈索引陣列元素的寫法,這也是以往常用的寫法:
<?phpreset ($arr);while (list($key, $value) = each ($arr)) {    echo "Value: $value
\n";}?>將 while 敘述改用 foreach 後,新的寫法如下:
<?phpforeach ($arr as $value) {    echo "Value: $value
\n";}?>假如我們還想要列印出陣列的 key,則可以改用第 2 種語法如下:
<?php foreach ($arr as $key => $value) {   echo "Array: $key, $value \n"; }?>
對於二維以上陣列的處理方式,可以使用巢狀式的 foreach 寫法。請看底下的範例:<?php   $arr = "aaa";$arr = "bbb";$arr = "ccc";$arr = "ddd";
foreach($arr as $v1) {    foreach ($v1 as $v2) {      echo "$v2 ";    }}?>
頁: [1]
查看完整版本: foreach 敘述的用法?