2016年5月27日 星期五
[PHP] foreach loop用法與範例
最近在研究PHP和Laravel時突然發現自己的觀念有些還沒釐清,
便上網查了資料在這裡做小筆記順便當複習~請大家參考看看^_^
在PHP中, foreach提供了一個簡單的方法可以進行重複性工作。
而foreach只能作用在array(陣列)與物件上,而且只能用同個資料型別與已經初始化的變數。
foreach有兩種形式:
<?php
foreach (array_expression as $value)
statement
?>
此形式會對array_expression的array進行迴圈。
在每一次的工作中,當前元素的值會指定給 $value,然後array內部的pointer會累加,進行下一次工作。
<?php
foreach (array_expression as $key => $value)
statement
?>
這種形式跟第一個的差別在於,
每一次的工作會指定當前元素的 `關鍵字(key)` 到 `$key` 變數。
接下來看範例
###Example1
<?php
$test=array('one','two','three');
foreach ($test as $x)
echo $x.' ';
?>
output:
>one two three
###Example2
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
echo $value.' ';
}
?>
output:
> 2 4 6 8
###Example3
<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each($arr)) {
echo "Key: $key; Value: $value<br />\n";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br />\n";
}
?>
output:
>Key: 0; Value: one
>Key: 1; Value: two
>Key: 2; Value: three
>Key: 0; Value: one
>Key: 1; Value: two
>Key: 2; Value: three
###Example4: foreach做計算1~100之整數和
<?php
$sum = 0;
$a = range(1, 100);
foreach ($a as $i) {
$sum += $i;
}
echo "1 + 2 + .... + 99 + 100 = $sum";
?>
output:
>1 + 2 + .... + 99 + 100 = 5050