PHP遍历数组的几种方法
這三種方法中效率最高的是使用foreach語(yǔ)句遍歷數(shù)組。從PHP4開始就引入了foreach結(jié)構(gòu),是PHP中專門為遍歷數(shù)組而設(shè)計(jì)的語(yǔ)句,推薦大家使用。先分別介紹這幾種方法
?
?
PHP中遍歷數(shù)組有三種常用的方法:?
一、使用for語(yǔ)句循環(huán)遍歷數(shù)組; 二、使用foreach語(yǔ)句遍歷數(shù)組; 三、聯(lián)合使用list()、each()和while循環(huán)遍歷數(shù)組。?
這三種方法中效率最高的是使用foreach語(yǔ)句遍歷數(shù)組。從PHP4開始就引入了foreach結(jié)構(gòu),是PHP中專門為遍歷數(shù)組而設(shè)計(jì)的語(yǔ)句,推薦大家使用。先分別介紹這幾種方法。?
一、使用for語(yǔ)句循環(huán)遍歷數(shù)組?
值得大家注意的是使用for語(yǔ)句循環(huán)遍歷數(shù)組要求遍歷的數(shù)組必須是索引數(shù)組。PHP中不僅有關(guān)聯(lián)數(shù)組而且還有索引數(shù)組,所以PHP中很少用for語(yǔ)句循環(huán)遍歷數(shù)組。?
實(shí)例代碼如下:?
?
按 Ctrl+C 復(fù)制代碼
?
按 Ctrl+C 復(fù)制代碼
注釋:上例代碼中我們先計(jì)算出數(shù)組$arr中元素的個(gè)數(shù),然后才使用在for語(yǔ)句,這樣做很高效的。因?yàn)槿绻莊or($i=0;$i<?
count($arr);++$i)的話,每次循環(huán)都會(huì)計(jì)算數(shù)組$arr中元素的個(gè)數(shù),而使用上面的方式可以減去這種開銷。使用++$i也是為了提高效率,前面有文章我們提到過,建議大家再看看。?
上面代碼的輸出結(jié)果為:?
http://www.jb51.net?
腳本之家?
PHP教程?
二、使用foreach語(yǔ)句遍歷數(shù)組?
使用foreach語(yǔ)句循環(huán)遍歷數(shù)組有二種方式,我們使用的最多的還是第一種方式。介紹如下:?
第一種方式:?
foreach(array_expression as $value){?
//循環(huán)體?
}?
實(shí)例代碼:
每次循環(huán)中,當(dāng)前元素的值被賦給變量$value,并且把數(shù)組內(nèi)部的指針向后移動(dòng)一步。所以下一次循環(huán)中會(huì)得到數(shù)組的下一個(gè)元素,直到數(shù)組的結(jié)尾才停止循環(huán),結(jié)束數(shù)組的遍歷。?
第二種方式:?
foreach(array_expression as?
$key=>$value){?
//循環(huán)體?
}?
實(shí)例代碼:
三、聯(lián)合使用list()、each()和while循環(huán)遍歷數(shù)組?
each()函數(shù)需要傳遞一個(gè)數(shù)組作為一個(gè)參數(shù),返回?cái)?shù)組中當(dāng)前元素的鍵/值對(duì),并向后移動(dòng)數(shù)組指針到下一個(gè)元素的位置。?
list()函數(shù),這不是一個(gè)真正的函數(shù),是PHP的一個(gè)語(yǔ)言結(jié)構(gòu)。list()用一步操作給一組變量進(jìn)行賦值。?
實(shí)例代碼:
輸出結(jié)果為:?
website=>http://www.cnblogs.com/
webname=>PHP程序員?
總結(jié):上述三種循環(huán)遍歷數(shù)組的方法中建議大家使用foreach語(yǔ)句循環(huán)遍歷數(shù)組,效率更高。
總結(jié)
以上是生活随笔為你收集整理的PHP遍历数组的几种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Excel中输入超过10的带圈数字
- 下一篇: 轻松学PHP编程 源代码