陣列是一個非常基礎且重要的資料結構,當我們建立好一個陣列後,就需要去操作它;而陣列最常見的一個操作就是循環遍歷。 PHP中支援多種遍歷數組的方法,今天我們就來學習如何利用for迴圈語句來遍歷數組,下面來一起學習吧! !
在先前的文章《PHP循環學習二:如何使用do-while循環語句》中,我們學習了do-while循環語句的使用,下面這篇文章就來帶大家了解for迴圈語句,透過程式碼範例來介紹一下使用for迴圈語句遍歷數組的方法。
一、for迴圈語句的結構解析
#for迴圈會將控制迴圈次數的變數預先定義在for語句中,因此for循環語句能夠依照已知的循環次數進行循環操作,適用於明確知道腳本需要執行的次數的情況。
for 迴圈的語法格式如下:
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
for迴圈語句可以拆解為4個部分:()
號中的三個表達式和{}
中的“語句塊”,下面我們來分析一下。
語句解析:
初始化語句(表達式1):主要是初始化一個變數值,用來設定一個計數器,即循環開始的值;語句僅在第一次循環時執行,以後都不會再執行。
循環條件(表達式2):循環執行的限制條件,用於控制是否執行循環體中的程式碼;如果條件為TRUE,則循環繼續,如果條件為FALSE ,則循環結束,立即退出循環。
變數更新(表達式3):一個帶有自增或自減操作的表達式,循環每執行一次,馬上修改計數器的值,以使循環條件逐漸變得「不成立」。
語句區塊:條件判斷為真時,需要執行的若干程式碼。
上面的描述是不是有點繞,我們來看看for迴圈語句的執行流程圖,可以更直覺的了解for迴圈的執行過程:
了解了for迴圈的執行過程,接下來我們來實際操作,做一個小題,來看看有沒有掌握吧!
訓練題:
計算從1加到100的和
<?php $sum=0; for($i=1; $i<=100; $i++){ $sum+=$i; } echo '1 + 2 + 3 +...+ 99 + 100 = '. $sum; ?>
輸出:
1 + 2 + 3 +...+ 99 + 100 = 5050
我們改變一下,既然可以求1加到100的和,也可以求1乘到100的乘積(100 的階乘)
<?php $sum=1; for($i=1; $i<=100; $i++){ $sum*=$i; } echo '1 * 2 * 3 *...* 99 * 100 = '. $sum; ?>
輸出:
1 * 2 * 3 *...* 99 * 100 = 9.3326215443944E+157
#註:因為0乘以什麼都是0,所以這裡$sum
變數的初始值就不能為0,而是1了。
二、for迴圈語句遍歷陣列
#下面我們先透過程式碼範例來具體看看如何遍歷,然後透過分析代碼來詳細了解。
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出:
香蕉 苹果 梨子 橙子 橘子 榴莲
程式碼分析:
初始化語句為$ i=0
:範例的陣列是索引數組,數組的下標預設從0開始,因此循環開始的值要為0。
迴圈條件$i <count>:count()函數用來計算陣列長度,則迴圈條件為<code>$i < ; 陣列長度
,因為當$i = 陣列長度
時,$i
已經超出了索引範圍(索引範圍是0
~ 數組長度-1
)。
變數更新$i
:每次循環後,變數$i
自動增加1,直到$i = 陣列長度
時,因為$i超出了索引範圍,以使循環條件不成立,然後退出循環。
echo $array[$i] . "<br>"
:每循環一次,就根據$i值--數組下標
,來輸出陣列元素。
說明:使用for迴圈遍歷陣列的形式是不會改變陣列的內部指標的。
推薦:《PHP面試題大匯總(收藏)》《php影片教學》
以上是PHP循環學習三:如何使用for迴圈語句遍歷數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!