日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺談PHP數(shù)組讀取的循環(huán)操作_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:談PHP開發(fā)者必不可少的五個發(fā)展要素
語法結(jié)構(gòu)教科書上的知識和實(shí)際的程序設(shè)計是有區(qū)別的,真正的知識要在實(shí)際的開發(fā)中獲得。每個php的開發(fā)人員在開始開發(fā)web應(yīng)用程序之前,都應(yīng)該熟悉下面的五件事: 1. 框架 框架可以說是php開發(fā)中的一個最重要的問題。用php開發(fā)web應(yīng)用程序時有很多方法,有很

PHP基本上就是一種數(shù)組語言。時常要進(jìn)行大量的數(shù)組循環(huán)操作,主要有兩種方式,一種是foreach,另一種是while,到底哪種好哪種壞一直有爭論,雖然我很早就意識到了這個問題,但是一直沒有細(xì)究,懵懂的感覺一直持續(xù)到現(xiàn)在,為了以后能節(jié)省點(diǎn)CPU時間,下面總結(jié)一下:

在循環(huán)里進(jìn)行的是數(shù)組“讀”操作,則foreach比while快:

無格式查看復(fù)制到剪貼板打印代碼?

foreach ($array as $value) {

echo $value;

}

while (list($key) = each($array)) {

echo $array[$key];

}

foreach ($array as $value) {

echo $value;

}

while (list($key) = each($array)) {

echo $array[$key];

}

在循環(huán)里進(jìn)行的是數(shù)組“寫”操作,則while比foreach快:

無格式查看復(fù)制到剪貼板打印代碼?

foreach ($array as $key => $value) {

echo $array[$key] = $value . '...';

}

while (list($key) = each($array)) {

$array[$key] = $array[$key] . '...';

}

foreach ($array as $key => $value) {

echo $array[$key] = $value . '...';

}

while (list($key) = each($array)) {

$array[$key] = $array[$key] . '...';

}

總結(jié):通常認(rèn)為,foreach涉及到值復(fù)制,一定會比while慢,但實(shí)際上,如果僅僅是在循環(huán)里進(jìn)行數(shù)組的讀操作,那么foreach是很快的,這是因?yàn)镻HP采用的復(fù)制機(jī)制是“引用復(fù)制,寫時拷貝”,這樣看來,foreach的高效讀操作就不難理解了。另外,既然foreach不適合處理數(shù)組寫操作,那么我們可以得出一個結(jié)論,多數(shù)情況下,類似foreach ($array as $key => $value)形式的代碼都應(yīng)該被替換成while (list($key) = each($array))。這些技巧產(chǎn)生的速度差異在小項(xiàng)目里可能并不明顯,但是在類似框架這樣的大項(xiàng)目中,一次請求動輒便會涉及到幾百幾千幾萬次數(shù)組循環(huán)操作,差異就會明顯放大。

分享:開發(fā)PHP程序的原則
你不必嚴(yán)格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應(yīng)當(dāng)把這些原則看成警鈴,若違背了其中的一條,那么警鈴就會響起 。 ----- Arthur J.Riel (1)所有數(shù)據(jù)都應(yīng)該隱藏在所在的類的內(nèi)部。 (2)類的使用者必須依賴類的共有接口,但類不能依賴它的使用者

來源:模板無憂//所屬分類:PHP教程/更新時間:2009-05-26
相關(guān)PHP教程