您好,登錄后才能下訂單哦!
本篇內容介紹了“php遍歷一個數組的方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
3種遍歷數組的方法:1、用for語句遍歷,語法“for($i=0;$i<數組長度;$i++){//循環代碼}”;2、用foreach語句遍歷,語法“foreach($arr as $k=>$v){//循環代碼}”;3、用while配合each()與list()進行遍歷,語法“while(list($k,$v)=each($arr)){//循環代碼}”。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
PHP中遍歷數組有三種常用的方法:
使用for語句循環遍歷數組;
使用foreach語句遍歷數組;
聯合使用list()、each()和while循環遍歷數組。
這三種方法中效率最高的是使用foreach語句遍歷數組。從PHP4開始就引入了foreach結構,是PHP中專門為遍歷數組而設計的語句,推薦大家使用。先分別介紹這幾種方法。
方法1:使用for語句遍歷
for循環會將控制循環次數的變量預先定義在for語句中,因此for循環語句能夠按照已知的循環次數進行循環操作,適用于明確知道腳本需要運行的次數的情況。
for 循環的語法格式如下:
for (初始化語句; 循環條件; 變量更新--自增或自減) { 語句塊; }
語句解析:
初始化語句(表達式1):主要是初始化一個變量值,用于設置一個計數器,即循環開始的值;該語句僅在第一次循環時執行,以后都不會再執行。
循環條件(表達式2):循環執行的限制條件,用于控制是否執行循環體中的代碼;如果條件為TRUE,則循環繼續,如果條件為FALSE ,則循環結束,立即退出循環。
變量更新(表達式3):一個帶有自增或自減操作的表達式,循環每執行一次,馬上修改計數器的值,以使循環條件逐漸變得“不成立”。
語句塊:條件判斷為真時,需要執行的若干代碼。
示例
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數學","梨子",3.14,"榴蓮",12); var_dump($array); echo "遍歷數組:<br>"; for ($i=0; $i < count($array); $i++) { echo $i.":".$array[$i] . "<br/>"; } ?>
輸出結果:
方法2:使用foreach語句遍歷
foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應用于數組和對象)。
foreach語句遍歷數組與數組下標無關,且可以用于不連續的索引數組和以字符串為下標的關聯數組。
foreach語句有兩種語法格式:
語法格式1:
foreach ($array as $value){ 語句塊; }
遍歷給定的 $array 數組,在每次循環中將當前數組的值賦給 $value。
示例
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數學","梨子",3.14,"榴蓮",12); var_dump($array); echo "遍歷數組:<br>"; foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } ?>
語法格式2:
foreach ($array as $key => $value){ 語句塊; }
遍歷給定的 $array 數組,在每次循環中會將當前數組的值賦給 $value,鍵名賦給 $key。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數學","梨子",3.14,"榴蓮",12); var_dump($array); echo "遍歷數組:<br>"; foreach ($array as $key => $value) { echo "鍵名為:".$key.",鍵值為:".$value . "<br/>"; } ?>
說明:
foreach語句在每次循環時,數組內部的指針會向前移一步,這樣在下一次循環中會得到下一個數組元素,直到遍歷到數組的末尾,停止遍歷并退出循環。
方法3:利用while語句+each()+list()遍歷
while循環語句是一種當型循環語句,先對循環條件進行判斷,當條件滿足,則執行循環體,不滿足時則停止。
each() 函數返回數組中當前的鍵值并將數組指針向前移動。在執行 each() 之后,數組指針將停留在數組中的下一個元素或者當碰到數組結尾時停留在最后一個元素。
list() 函數用于在一次操作中給一組變量賦值。
while循環+each() 函數+ list() 函數可以遍歷數組,下面通過代碼示例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"數學","梨子",3.14,"榴蓮",12); var_dump($array); echo "遍歷數組:<br>"; while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
輸出結果:
說明:
while循環語句是一種當型
循環語句,先對循環條件進行判斷,當條件滿足,則執行循環體,不滿足時則停止。
作用:反復執行某一項操作,直到指定的條件不成立。
特點:先判斷表達式,當表達式結果為真時執行相應的語句。
while循環的一般形式為:
while(表達式){ //表達式為循環條件 PHP語句塊; //PHP語句塊為循環體 }
語句解析:
先計算“表達式”的值,當值為真時, 執行循環體內的“PHP語句塊”;
說明:“表達式”的計算結果是布爾類型( TRUE 或 FALSE)的,如果是其他類型的值也會自動轉換為布爾類型的值(因為PHP是弱語言類型,會根據變量的值,自動把變量轉換為正確的數據類型)。
“語句塊”就是由
{ }
包圍的一個或多個語句的集合;如果語句塊中只有一個語句,也可以省略{ }
。
執行結束后,返回到表達式,再次計算表達式的值進行判斷,當表達式值為真,則繼續執行“語句塊”……這個過程會一直重復
直到表達式的值為假時才跳出循環,執行while 下面的語句。
while語句的流程圖如下所示:
通常“表達式”是使用比較運算符或者邏輯運算符計算后的值
注:“死循環”--無法靠自身的控制終止的循環
“php遍歷一個數組的方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。