首先我們定義一個數組,一個沒有key值的簡單數組,
arr = array(
 '第一項',
 '第二項',
 '第三項',
 '第四項',
 '第五項',
 );
然后用count函數得到數組的長度,再用for循環遍歷數組,并輸出數組的每一項內容。
for循環的次數就是數組的長度,語句里定義變量i,從0開始,直到i小于數組長度len。
我們運行下代碼,看下輸出的結果。
從圖中的結果可以看出,for循環把數組的每一項內容都輸出顯示了。
接下來,我們把代碼改成用foreach循環,代碼如圖,從代碼上看,用foreach來循環相對簡潔一點,我們不需要獲取數組的長度,直接用數組進行循環操作就行。數組的每次循環,會把當前項賦值給item變量,直接輸出這個變量就行了。
運行下代碼,得到的結果和用for循環的一樣。
在foreach循環時,會把當前值賦給item變量,我們在循環時修改下這個item變量,看是否會改到數組里的值?
把代碼修改成如圖所示,第一個循環用foreach,并且在循環時把item的值添加一些字符。第二個循環用for,輸出原數組的值。
運行代碼,得到結果如圖。
可以看到,foreach循環修改的item值,并沒有更改到原數組的值。這是因為foreach循環操作的是數組的一個拷貝,而不是操作數組本身。
如果要在foreach循環里修改原數組的內容,要怎樣修改代碼才可以呢?我們可以把代碼改成如圖所示。在循環里,通過key來修改原數組的值,而不是修改item變量。
運行代碼,得到結果如圖,可以看到原數組的數據已經成功修改了。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!