|
一、使用for語句循環(huán)遍歷數(shù)組;
二、使用foreach語句遍歷數(shù)組;
三、聯(lián)合使用list()、each()和while循環(huán)遍歷數(shù)組。
這三種方法中效率最高的是使用foreach語句遍歷數(shù)組。從php4開始就引入了foreach結(jié)構(gòu),是php中專門為遍歷數(shù)組而設(shè)計的語句,推薦大家使用。先分別介紹這幾種方法。
一、使用for語句循環(huán)遍歷數(shù)組
值得大家注意的是使用for語句循環(huán)遍歷數(shù)組要求遍歷的數(shù)組必須是索引數(shù)組。php中不僅有關(guān)聯(lián)數(shù)組而且還有索引數(shù)組,所以php中很少用for語句循環(huán)遍歷數(shù)組。
實例代碼如下:
復(fù)制代碼 代碼如下:
<?php
$arr = array('http://www.jb51.NET','腳本之家','php教程');
$num = count($arr);
for($i=0;$i<$num;++$i){
echo $arr[$i].'<br />';
}
?>
注釋:上例代碼中我們先計算出數(shù)組$arr中元素的個數(shù),然后才使用在for語句,這樣做很高效的。因為如果是for($i=0;$i< count($arr);++$i)的話,每次循環(huán)都會計算數(shù)組$arr中元素的個數(shù),而使用上面的方式可以減去這種開銷。使用++$i也是為了提高效率,前面有文章我們提到過,建議大家再看看。
上面代碼的輸出結(jié)果為:
http://www.jb51.NET
腳本之家
php教程
二、使用foreach語句遍歷數(shù)組
使用foreach語句循環(huán)遍歷數(shù)組有二種方式,我們使用的最多的還是第一種方式。介紹如下:
第一種方式:
foreach(array_expression as $value){
//循環(huán)體
}
實例代碼:
復(fù)制代碼 代碼如下:
<?php
$arr = array('http://www.jb51.NET','腳本之家','php教程');
foreach($arr as $value){
echo $value.'<br />';
}
?>
每次循環(huán)中,當(dāng)前元素的值被賦給變量$value,并且把數(shù)組內(nèi)部的指針向后移動一步。所以下一次循環(huán)中會得到數(shù)組的下一個元素,直到數(shù)組的結(jié)尾才停止循環(huán),結(jié)束數(shù)組的遍歷。
第二種方式:
foreach(array_expression as $key=>$value){
//循環(huán)體
}
實例代碼:
復(fù)制代碼 代碼如下:
<?php
//定義數(shù)組
$arr = array('http://www.jb51.NET','腳本之家','php教程');
foreach($arr as $k=>$v){
echo $k."=>".$v."<br />";
}
?>
三、聯(lián)合使用list()、each()和while循環(huán)遍歷數(shù)組
each()函數(shù)需要傳遞一個數(shù)組作為一個參數(shù),返回數(shù)組中當(dāng)前元素的鍵/值對,并向后移動數(shù)組指針到下一個元素的位置。
list()函數(shù),這不是一個真正的函數(shù),是php的一個語言結(jié)構(gòu)。list()用一步操作給一組變量進(jìn)行賦值。
實例代碼:
復(fù)制代碼 代碼如下:
<?php
//定義循環(huán)的數(shù)組
$arr = array('website'=>'http://www.jb51.NET','webname'=>'腳本之家')
while(list($k,$v) = each($arr)){
echo $k.'=>'.$v.'<br />';
}
?> jb51.NET
輸出結(jié)果為:
website=>http://www.jb51.NET
webname=>php程序員
總結(jié):上述三種循環(huán)遍歷數(shù)組的方法中建議大家使用foreach語句循環(huán)遍歷數(shù)組,效率更高。
php技術(shù):PHP遍歷數(shù)組的幾種方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。