首頁  >  文章  >  後端開發  >  php遍歷數組的四種方法是什麼

php遍歷數組的四種方法是什麼

青灯夜游
青灯夜游原創
2022-04-12 20:15:485020瀏覽

四種方法:1、用「for($i=0;$i

php遍歷數組的四種方法是什麼

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

方法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);
for ($i=0; $i < count($array); $i++) { 
    echo $array[$i] . "<br/>";
} 
?>

輸出結果:

2
数学
梨子
3.14
榴莲
12

方法2:使用foreach語句遍歷

#foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5後還可以遍歷對象(foreach僅能夠應用於數組和對象)。

foreach語句遍歷數組與數組下標無關,且可以用於不連續的索引數組和以字串為下標的關聯數組。

foreach語句解析

下面我們先來了解foreach語句,該語句有兩種語法格式:

語法格式1:

foreach ($array as $value){
    语句块;
}

遍歷給定的 $array 數組,在每個循環中將目前數組的值賦給 $value。

語法格式2:

foreach ($array as $key => $value){
    语句块;
}

遍歷給定的 $array 數組,每次循環中都會將目前陣列的值賦給 $value,鍵名賦給 $key。

說明:

foreach語句在每次迴圈時,陣列內部的指標會向前移一步,這樣在下一次迴圈中會得到下一個陣列元素,直到遍歷到數組的末尾,停止遍歷並退出循環。

範例:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
foreach ($array as $val){
    echo "值是:" . $val ;
    echo "<br/>";
}
echo "<br/>";
foreach ($array as $key => $value) { 
    echo "键名为:".$key.",键值为:".$value . "<br/>";
} 
?>

輸出結果:

php遍歷數組的四種方法是什麼

方法3 :利用while語句each() list()遍歷

each() 函數傳回數組中目前的鍵值並將陣列指標向前移動。在執行 each() 之後,數組指標將停留在數組中的下一個元素或當碰到數組結尾時停留在最後一個元素。

而list() 函數用於在一次運算中給一組變數賦值。

while循環each() 函數list() 函數可以遍歷數組,下面透過程式碼範例來看看:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
while( list($key, $val) = each($array) ) {
    echo "$key => $val<br>";
}
?>

輸出結果:

php遍歷數組的四種方法是什麼

方法4:利用do-while語句next() key() current()遍歷

PHP中每個陣列都有一個內部指針,即數組指針;該指針會指向數組中的某個元素(該元素就是數組的當前元素,預設最初指向數組中的第一個元素)。

  • next() 函數可以傳回陣列內部指標指向的下一個元素的值,當沒有更多元素時傳回 FALSE。

  • key() 函數用來取得陣列中目前元素的鍵名。

  • current() 函數傳回陣列的目前元素的鍵值。

利用do-while迴圈 next() key() current()可以遍歷數組,取得陣列元素的鍵名和鍵值。

下面透過程式碼範例來具體看看:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
do{
	 echo key($array)." => ".current($array)."<br>";
}while(next($array));
?>

輸出結果:

php遍歷數組的四種方法是什麼

#遍歷結束後,陣列指標會指向最後一個數組元素,我們可以使用reset()函數來重置數組指針,將數組中的內部指針重新指向第一個元素。

推薦:《PHP影片教學

以上是php遍歷數組的四種方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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