PHP foreach

PHP foreach 提供陣列很便利的輸出方式,用起來與 for 迴圈while 迴圈有點類似,不同的在於處理陣列更加的容易,且 foreach 僅用於處理陣列,如果用來處理其他不同的數據組或變數,很可能會出現錯誤情況,foreach 有兩種使用結構。

PHP foreach 語法結構
foreach ( $array as $value )
 ... 執行程式碼 ...

foreach ( $array as $key => $value )
 ... 執行程式碼 ...
第一種寫法是每跑一圈 foreach 會把陣列($array)的陣列值(array value)存放到 $value 中,第二種寫法也是一樣的意思,但多增加了把陣列的所引(array key )也存放到 $key 中,以下兩個範例清楚表達兩種 foreach 寫法的差異。

PHP foreach 輸出範例
<?php
foreach (array(1, 2, 3, 4) as $value) {
    echo 'value='.$value.'<br>';
}
echo '<br>';
foreach (array(1, 2, 3, 4) as $key => $value) {
    echo 'key='.$key.' and value='.$value.'<br>';
}
?>
範例輸出結果
value=1
value=2
value=3
value=4

key=0 and value=1
key=1 and value=2
key=2 and value=3
key=3 and value=4
範例第一個 foreach 單純的將每個陣列元素存放到 $value 之中,然後 echo 出來,第二個 foreach 則使用了 $key=>$value 的功能,同時將 array key 取出並存放於 $key 之中,可以看到輸出結果的 key 是從 0 開始,因為陣列的第一個元素 key 就是從 0 開始編排。

延伸閱讀
© Copyright webtech.tw Since 2010