溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php遍歷一個(gè)數(shù)組的方法有哪些

發(fā)布時(shí)間:2022-09-07 09:36:21 來源:億速云 閱讀:157 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“php遍歷一個(gè)數(shù)組的方法有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

3種遍歷數(shù)組的方法:1、用for語句遍歷,語法“for($i=0;$i<數(shù)組長度;$i++){//循環(huán)代碼}”;2、用foreach語句遍歷,語法“foreach($arr as $k=>$v){//循環(huán)代碼}”;3、用while配合each()與list()進(jìn)行遍歷,語法“while(list($k,$v)=each($arr)){//循環(huán)代碼}”。

本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

PHP中遍歷數(shù)組有三種常用的方法:

  • 使用for語句循環(huán)遍歷數(shù)組;

  • 使用foreach語句遍歷數(shù)組;

  • 聯(lián)合使用list()、each()和while循環(huán)遍歷數(shù)組。

這三種方法中效率最高的是使用foreach語句遍歷數(shù)組。從PHP4開始就引入了foreach結(jié)構(gòu),是PHP中專門為遍歷數(shù)組而設(shè)計(jì)的語句,推薦大家使用。先分別介紹這幾種方法。

方法1:使用for語句遍歷

for循環(huán)會(huì)將控制循環(huán)次數(shù)的變量預(yù)先定義在for語句中,因此for循環(huán)語句能夠按照已知的循環(huán)次數(shù)進(jìn)行循環(huán)操作,適用于明確知道腳本需要運(yùn)行的次數(shù)的情況。

for 循環(huán)的語法格式如下:

for (初始化語句; 循環(huán)條件; 變量更新--自增或自減) {
    語句塊;   
}

語句解析:

  • 初始化語句(表達(dá)式1):主要是初始化一個(gè)變量值,用于設(shè)置一個(gè)計(jì)數(shù)器,即循環(huán)開始的值;該語句僅在第一次循環(huán)時(shí)執(zhí)行,以后都不會(huì)再執(zhí)行。

  • 循環(huán)條件(表達(dá)式2):循環(huán)執(zhí)行的限制條件,用于控制是否執(zhí)行循環(huán)體中的代碼;如果條件為TRUE,則循環(huán)繼續(xù),如果條件為FALSE ,則循環(huán)結(jié)束,立即退出循環(huán)。

  • 變量更新(表達(dá)式3):一個(gè)帶有自增或自減操作的表達(dá)式,循環(huán)每執(zhí)行一次,馬上修改計(jì)數(shù)器的值,以使循環(huán)條件逐漸變得“不成立”。

  • 語句塊:條件判斷為真時(shí),需要執(zhí)行的若干代碼。

示例

<?php
header("Content-type:text/html;charset=utf-8");
$array= array(2,"數(shù)學(xué)","梨子",3.14,"榴蓮",12);
var_dump($array);
echo "遍歷數(shù)組:<br>";
for ($i=0; $i < count($array); $i++) { 
    echo $i.":".$array[$i] . "<br/>";
} 
?>

輸出結(jié)果:

php遍歷一個(gè)數(shù)組的方法有哪些

方法2:使用foreach語句遍歷

foreach是專門為遍歷數(shù)組而設(shè)計(jì)的語句,是遍歷數(shù)組時(shí)常用的方法,在遍歷數(shù)組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應(yīng)用于數(shù)組和對象)。

foreach語句遍歷數(shù)組與數(shù)組下標(biāo)無關(guān),且可以用于不連續(xù)的索引數(shù)組和以字符串為下標(biāo)的關(guān)聯(lián)數(shù)組。

foreach語句有兩種語法格式:

  • 語法格式1:

foreach ($array as $value){
    語句塊;
}

遍歷給定的 $array 數(shù)組,在每次循環(huán)中將當(dāng)前數(shù)組的值賦給 $value。

示例

<?php
header("Content-type:text/html;charset=utf-8");
$array= array(2,"數(shù)學(xué)","梨子",3.14,"榴蓮",12);
var_dump($array);
echo "遍歷數(shù)組:<br>";
foreach ($array as $val){
    echo "值是:" . $val ;
    echo "<br/>";
}
?>

php遍歷一個(gè)數(shù)組的方法有哪些

  • 語法格式2:

foreach ($array as $key => $value){
    語句塊;
}

遍歷給定的 $array 數(shù)組,在每次循環(huán)中會(huì)將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array(2,"數(shù)學(xué)","梨子",3.14,"榴蓮",12);
var_dump($array);
echo "遍歷數(shù)組:<br>";
foreach ($array as $key => $value) { 
    echo "鍵名為:".$key.",鍵值為:".$value . "<br/>";
} 
?>

php遍歷一個(gè)數(shù)組的方法有哪些

說明:

foreach語句在每次循環(huán)時(shí),數(shù)組內(nèi)部的指針會(huì)向前移一步,這樣在下一次循環(huán)中會(huì)得到下一個(gè)數(shù)組元素,直到遍歷到數(shù)組的末尾,停止遍歷并退出循環(huán)。

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

while循環(huán)語句是一種當(dāng)型循環(huán)語句,先對循環(huán)條件進(jìn)行判斷,當(dāng)條件滿足,則執(zhí)行循環(huán)體,不滿足時(shí)則停止。

each() 函數(shù)返回?cái)?shù)組中當(dāng)前的鍵值并將數(shù)組指針向前移動(dòng)。在執(zhí)行 each() 之后,數(shù)組指針將停留在數(shù)組中的下一個(gè)元素或者當(dāng)碰到數(shù)組結(jié)尾時(shí)停留在最后一個(gè)元素。

list() 函數(shù)用于在一次操作中給一組變量賦值。

while循環(huán)+each() 函數(shù)+ list() 函數(shù)可以遍歷數(shù)組,下面通過代碼示例來看看:

<?php
header("Content-type:text/html;charset=utf-8");
$array= array(2,"數(shù)學(xué)","梨子",3.14,"榴蓮",12);
var_dump($array);
echo "遍歷數(shù)組:<br>";
while( list($key, $val) = each($array) ) {
    echo "$key => $val<br>";
}
?>

輸出結(jié)果:

php遍歷一個(gè)數(shù)組的方法有哪些

說明:

while循環(huán)語句是一種當(dāng)型循環(huán)語句,先對循環(huán)條件進(jìn)行判斷,當(dāng)條件滿足,則執(zhí)行循環(huán)體,不滿足時(shí)則停止。

  • 作用:反復(fù)執(zhí)行某一項(xiàng)操作,直到指定的條件不成立。

  • 特點(diǎn):先判斷表達(dá)式,當(dāng)表達(dá)式結(jié)果為真時(shí)執(zhí)行相應(yīng)的語句。

while循環(huán)的一般形式為:

while(表達(dá)式){    //表達(dá)式為循環(huán)條件
    PHP語句塊;  //PHP語句塊為循環(huán)體
}

語句解析:

  • 先計(jì)算“表達(dá)式”的值,當(dāng)值為真時(shí), 執(zhí)行循環(huán)體內(nèi)的“PHP語句塊”;

    說明:“表達(dá)式”的計(jì)算結(jié)果是布爾類型( TRUE 或 FALSE)的,如果是其他類型的值也會(huì)自動(dòng)轉(zhuǎn)換為布爾類型的值(因?yàn)镻HP是弱語言類型,會(huì)根據(jù)變量的值,自動(dòng)把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型)。

    “語句塊”就是由{ }包圍的一個(gè)或多個(gè)語句的集合;如果語句塊中只有一個(gè)語句,也可以省略{ }。

  • 執(zhí)行結(jié)束后,返回到表達(dá)式,再次計(jì)算表達(dá)式的值進(jìn)行判斷,當(dāng)表達(dá)式值為真,則繼續(xù)執(zhí)行“語句塊”……這個(gè)過程會(huì)一直重復(fù)

  • 直到表達(dá)式的值為假時(shí)才跳出循環(huán),執(zhí)行while 下面的語句。

while語句的流程圖如下所示:

php遍歷一個(gè)數(shù)組的方法有哪些

通?!氨磉_(dá)式”是使用比較運(yùn)算符或者邏輯運(yùn)算符計(jì)算后的值

注:“死循環(huán)”--無法靠自身的控制終止的循環(huán)

“php遍歷一個(gè)數(shù)組的方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI