首頁  >  文章  >  後端開發  >  php中for迴圈能不能遍歷數組

php中for迴圈能不能遍歷數組

青灯夜游
青灯夜游原創
2022-11-17 18:50:562153瀏覽

在php中,for迴圈能遍歷數組,語法為“for($i=0;$i

php中for迴圈能不能遍歷數組

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php中for迴圈能遍歷數組。

for迴圈是幾乎所有語言都可以用的一種遍歷陣列的方式,php語言也不例外。

一、for迴圈語句的結構解析

#for迴圈會將控制迴圈次數的變數預先定義在for語句中,因此for循環語句能夠依照已知的循環次數進行循環操作,適用於明確知道腳本需要執行的次數的情況。

for 迴圈的語法格式如下:

for (初始化语句; 循环条件; 变量更新--自增或自减) {
    语句块;   
}

for迴圈語句可以拆解為4個部分:()號中的三個表達式和{}中的“語句塊”,下面我們來分析一下。

語句解析:

  • 初始化語句(表達式1):主要是初始化一個變數值,用來設定一個計數器,即循環開始的值;語句僅在第一次循環時執行,以後都不會再執行。

  • 循環條件(表達式2):循環執行的限制條件,用於控制是否執行循環體中的程式碼;如果條件為TRUE,則循環繼續,如果條件為FALSE ,則循環結束,立即退出循環。

  • 變數更新(表達式3):一個帶有自增或自減操作的表達式,循環每執行一次,馬上修改計數器的值,以使循環條件逐漸變得「不成立」。

  • 語句區塊:條件判斷為真時,需要執行的若干程式碼。

上面的描述是不是有點繞,我們來看看for迴圈語句的執行流程圖,可以更直覺的了解for迴圈的執行過程:

php中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/>";
} 
?>

輸出:

php中for迴圈能不能遍歷數組

#程式碼分析:

  • 初始化語句為$i=0:範例的陣列是一個索引數組,數組的下標預設從0開始,因此循環開始的值要為0。

  • 迴圈條件$i <count>:count()函數用來計算陣列長度,則迴圈條件為<code>$i &lt ; 陣列長度,因為當$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(&#39;brand&#39;=>&#39;google&#39;,&#39;email&#39;=>&#39;Gmail&#39;,&#39;WebBrowser&#39;=>&#39;Chrome&#39;,&#39;phone&#39;=>&#39;Android&#39;);
for($i=1;$i<=count($arr);$i++){
echo $arr[$i];
}
?>

php中for迴圈能不能遍歷數組

在運行時會報錯,這說明for不適合用於關聯數組的遍歷

2、for遍歷的數組既要滿足是索引數組,同時下標又要是連續的整數,如果不是連續的整數則會發生提示

<?php
header("Content-type:text/html;charset=utf-8");
$array=array(1=>&#39;Google&#39;,5=>&#39;Chrome&#39;,7=>&#39;Android&#39;,9=>&#39;Youtube&#39;,12=>&#39;Gmail&#39;);
//print_r($array);
 
for($i=0;$i<count($array);$i++){
echo $array[$i],"<br>";
}
?>

php中for迴圈能不能遍歷數組

因此for迴圈遍歷陣列必須是索引陣列而且下標必須是連續的。

推薦:PHP面試題大匯總(收藏)》《php影片教學

以上是php中for迴圈能不能遍歷數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn