PHP—數組—foreach用法

foreach用於數組:
foreach僅能用於數組,每次循環中,當前單元的鍵名也會在每次循環中被賦給變量 $key。當前單元的值被賦給 $value 並且數組內部的指針向前移一步。

有兩種語法:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。

第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變量 $key。

1、運用foreach可以對數組裏的每一項進行運算,讓每一項都乘以2 

//Example 1:
$array=array(1,2,3);
 
foreach($array as $key => $value){
     $value *= 2;
}
print_r($array);
 
Result:
Array ( [0] => 1 [1] => 4 [2] => 6 )

//Example 2:
$array=array(1,2,3);
 
foreach($array as $key => $value){
     $array[$key] *= 2;
}
print_r($array);
 
Result:
Array ( [0] => 2 [1] => 4 [2] => 6 )

原因:因爲foreach()方法中的對$key和$value的賦值爲傳值賦值,所以Example 1中直接賦值給$value並沒有真正地改變$array中的值;Example 2中$array[$key]是引用賦值,直接對$array中的數據進行操作,比較容易理解。 

如果想要用$value完成對$array的更改,可以用&$value將賦值方式改爲引用賦值,這時變量$value的指針就直接指向數組中的單元了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章