http://linux.tnc.edu.tw/techdoc/banic/add.html
在 PHP4中,新增了一個迴圈 foreach,它很像是 perl和其它的語言,你可以給它一個陣列,讓它來取出陣列的值。它有下列這二個語法,第二個語法是較次要的,但是可用來作為第一個語法的延伸。
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
第一個形式的迴圈,它會在每個迴圈上,將目前元素的值分配給 $value,並且向後移動陣列的內部指標,
所以在下一個迴圈的時候,你就會看到下一個元素了。
第二個形式的迴圈和第一個是相同的,不同的是它會在每個迴圈將目前元素的索引值分配給變數 $key。
注意 : 當 foreach第一次開始執行的時候,它會把陣列的內部指標重新設定到陣列的第一個元素,意思是說,在使用 foreach之前,你不必再去呼叫
reset( )。
注意 : foreach是運作在陣列的複製,而不是陣列它本身,因此並不會改變陣列指標
下面範例的功能都是相同的 :
<? php
reset ($arr);
while (list(, $value) = each ($arr)) {
echo "Value: $value";
}
foreach ($arr as $value) {
echo "Value: $value";
}
?>
下面範例的功能也都是相同的 :
<?php
reset ($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value";
}
?>
以下的範例將說明 foreach的用法 :
<?php
/* foreach example 1: value only */
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
print "Current value of \$a: $v";
}
/* foreach example 2: value (with key printed for illustration) */
$a = array (1, 2, 3, 17);
$i = 0;
/* for illustrative purposes only */
foreach($a as $v) {
print "\$a[$i] => $k";
}
/* foreach example 3: key and value */
$a = array (
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach($a as $k => $v) {
print "\$a[$k] => $v";
}
?>
沒有留言:
張貼留言