• PHP
  • 常用語法介紹
  • 迴圈
  • import_contacts foreach 迴圈
    1159
適用範圍

可以很方便地用來索引陣列資料結構

實用性:
重要性:

在對陣列做迴圈的時候,foreach 會額外複制一份陣列再做迴圈的動作,也意味著不會變動原來陣列內部指標的位置

foreach 有2種結構語法的方式,如下範例印出的結果會相同

$arr = array("one", "two", "three");

foreach ($arr as $value){echo $value;}
    
foreach ($arr as $key => $value){echo $value;}
 
//兩者的差別在於 $key 的變數會是索引值(由0開始的數字),若無抓取的需求,則使用第一種即可

若陣列有自定義索引值,則可使用第二種方式取出使用

$arr = array("A"=>"one", "B"=>"two", "C"=>"three");
    
foreach ($arr as $key => $value){
  if ($key=="A" || $key=="B"){echo $value;}
}
 
//此範例只會印出 one 與 two

對於二維以上陣列的處理方式,可以使用巢狀式的寫法

以下使用二維陣列來舉例,三維…以上則依此類推


$arr[0][0] = "00";
$arr[0][1] = "01";
$arr[1][0] = "10";
$arr[1][1] = "11";
$arr[2][0] = "20";
$arr[2][1] = "21";

foreach($arr as $a1) {
    foreach ($a1 as $a2) {
        echo $a2;
    }
}
//結果會依序印出二維陣列的內容