在php中,for循環能遍歷數組,語法為“for($i=0;$i<count($array);$i++){ //處理數組元素的語句塊;} ”。使用for遍歷數組的限制:1、所遍歷的數組必須是索引數組(即下標為數字的數組),不能是關聯數組(下標為字符串的數組);2、索引數組的下標必須是連續的整數。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
php中for循環能遍歷數組。
for循環是幾乎所有語言都可以用的一種遍歷數組的方式,php語言也不例外。
一、for循環語句的結構解析
for循環會將控制循環次數的變量預先定義在for語句中,因此for循環語句能夠按照已知的循環次數進行循環操作,適用于明確知道腳本需要運行的次數的情況。
for 循環的語法格式如下:
for (初始化語句; 循環條件; 變量更新--自增或自減) { 語句塊; }
for循環語句可以拆解為4個部分:()
號中的三個表達式和{}
中的“語句塊”,下面我們來分析一下。
語句解析:
-
初始化語句(表達式1):主要是初始化一個變量值,用于設置一個計數器,即循環開始的值;該語句僅在第一次循環時執行,以后都不會再執行。
-
循環條件(表達式2):循環執行的限制條件,用于控制是否執行循環體中的代碼;如果條件為TRUE,則循環繼續,如果條件為FALSE ,則循環結束,立即退出循環。
-
變量更新(表達式3):一個帶有自增或自減操作的表達式,循環每執行一次,馬上修改計數器的值,以使循環條件逐漸變得“不成立”。
-
語句塊:條件判斷為真時,需要執行的若干代碼。
上面的描述是不是有點繞,我們來看看for循環語句的執行流程圖,可以更直觀的了解for循環的執行過程:
二、for循環語句遍歷數組
下面我們先通過代碼示例來具體看看如何遍歷,然后通過分析代碼來詳細了解。
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); var_dump($array); echo "for循環遍歷輸出:<br/><br/>"; for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
輸出:
代碼分析:
-
初始化語句為
$i=0
:示例的數組是一個索引數組,數組的下標默認從0開始,因此循環開始的值要為0。 -
循環條件
$i <count($array)
:count()函數用于計算數組長度,則循環條件為$i < 數組長度
,因為當$i = 數組長度
時,$i
已經超出了索引范圍(索引范圍是0
~數組長度-1
)。 -
變量更新
$i++
:每次循環后,變量$i
自動增加1,直到$i = 數組長度
時,因為$i超出了索引范圍,以使循環條件不成立,然后退出循環。 -
echo $array[$i] . "<br/>"
:每循環一次,就根據$i值--數組下標
,來輸出數組元素。
說明:使用for循環遍歷數組的形式是不會改變數組的內部指針的。
注意:使用for遍歷數組存在以下限制:
1、所遍歷的數組必須是索引數組(即下標為數字的數組),不能是關聯數組(下標為字符串的數組)
如下列代碼
<?php header("Content-type:text/html;charset=utf-8"); $arr=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android'); for($i=1;$i<=count($arr);$i++){ echo $arr[$i]; } ?>
在運行時會報錯,這說明for不適合用于關聯數組的遍歷
2、for遍歷的數組既要滿足是索引數組,同時下標又要是連續的整數,如果不是連續的整數則會發生提示
<?php header("Content-type:text/html;charset=utf-8"); $array=array(1=>'Google',5=>'Chrome',7=>'Android',9=>'Youtube',12=>'Gmail'); //print_r($array); for($i=0;$i<count($array);$i++){ echo $array[$i],"<br>"; } ?>
因此for循環遍歷數組必須是索引數組而且下標必須是連續的。
推薦:《PHP面試題大匯總(收藏)》《php視頻教程》