數(shù)組是一個非常基礎和重要的數(shù)據(jù)結構,當我們創(chuàng)建好一個數(shù)組后,就需要去操作它;而數(shù)組最常見的一個操作就是循環(huán)遍歷。PHP中支持多種遍歷數(shù)組的方法,今天我們就來學習如何利用for循環(huán)語句來遍歷數(shù)組,下面來一起學習吧!!
在之前的文章《PHP循環(huán)學習二:如何使用do-while循環(huán)語句》中,我們學習了do-while循環(huán)語句的使用,下面本篇文章就來帶大家了解一下for循環(huán)語句,通過代碼示例來介紹一下使用for循環(huán)語句遍歷數(shù)組的方法。
一、for循環(huán)語句的結構解析
for循環(huán)會將控制循環(huán)次數(shù)的變量預先定義在for語句中,因此for循環(huán)語句能夠按照已知的循環(huán)次數(shù)進行循環(huán)操作,適用于明確知道腳本需要運行的次數(shù)的情況。
for 循環(huán)的語法格式如下:
for (初始化語句; 循環(huán)條件; 變量更新--自增或自減) { 語句塊; }
for循環(huán)語句可以拆解為4個部分:()
號中的三個表達式和{}
中的“語句塊”,下面我們來分析一下。
語句解析:
-
初始化語句(表達式1):主要是初始化一個變量值,用于設置一個計數(shù)器,即循環(huán)開始的值;該語句僅在第一次循環(huán)時執(zhí)行,以后都不會再執(zhí)行。
-
循環(huán)條件(表達式2):循環(huán)執(zhí)行的限制條件,用于控制是否執(zhí)行循環(huán)體中的代碼;如果條件為TRUE,則循環(huán)繼續(xù),如果條件為FALSE ,則循環(huán)結束,立即退出循環(huán)。
-
變量更新(表達式3):一個帶有自增或自減操作的表達式,循環(huán)每執(zhí)行一次,馬上修改計數(shù)器的值,以使循環(huán)條件逐漸變得“不成立”。
-
語句塊:條件判斷為真時,需要執(zhí)行的若干代碼。
上面的描述是不是有點繞,我們來看看for循環(huán)語句的執(zhí)行流程圖,可以更直觀的了解for循環(huán)的執(zhí)行過程:
了解了for循環(huán)的執(zhí)行過程,接下來我們來實際操作,做一個小題,來看看有沒有掌握吧!
訓練題:
計算從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循環(huán)語句遍歷數(shù)組
下面我們先通過代碼示例來具體看看如何遍歷,然后通過分析代碼來詳細了解。
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出:
香蕉 蘋果 梨子 橙子 橘子 榴蓮
代碼分析:
-
初始化語句為
$i=0
:示例的數(shù)組是一個索引數(shù)組,數(shù)組的下標默認從0開始,因此循環(huán)開始的值要為0。 -
循環(huán)條件
$i <count($array)
:count()函數(shù)用于計算數(shù)組長度,則循環(huán)條件為$i < 數(shù)組長度
,因為當$i = 數(shù)組長度
時,$i
已經(jīng)超出了索引范圍(索引范圍是0
~數(shù)組長度-1
)。 -
變量更新
$i++
:每次循環(huán)后,變量$i
自動增加1,直到$i = 數(shù)組長度
時,因為$i超出了索引范圍,以使循環(huán)條件不成立,然后退出循環(huán)。 -
echo $array[$i] . "<br/>"
:每循環(huán)一次,就根據(jù)$i值--數(shù)組下標
,來輸出數(shù)組元素。
說明:使用for循環(huán)遍歷數(shù)組的形式是不會改變數(shù)組的內部指針的。
推薦:《PHP面試題大匯總(收藏)》《php視頻教程》