TShopping

 找回密碼
 註冊
搜索
查看: 1634|回復: 0
打印 上一主題 下一主題

[教學] foreach 敘述的用法?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-2-1 18:59:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
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 種語法如下:
  1. <?php foreach ($arr as $key => $value) {   echo "Array: $key, $value \n"; }?>
複製代碼

對於二維以上陣列的處理方式,可以使用巢狀式的 foreach 寫法。請看底下的範例:
  1. <?php   $arr[0][0] = "aaa";  $arr[0][1] = "bbb";  $arr[1][0] = "ccc";  $arr[1][1] = "ddd";
  2.   foreach($arr as $v1) {    foreach ($v1 as $v2) {      echo "$v2 ";    }  }?>
複製代碼


 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-20 03:05 , Processed in 0.051289 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表