成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于PHP數組遍歷對比測試

開發 后端
文章做出兩個關于PHP數組遍歷的測試,一是PHP4.4.1下,使用一維數組,二是PHP4.4.1下,使用二位數組,希望對大家有幫助。

PHP還是比較常用的,于是我研究了一下PHP數組遍歷,在這里拿出來和大家分享一下,希望對大家有用。關于PHP數組遍歷,其實很多人都做過測試了,像http://www.lilov.org/post/18.html這樣,不過這些討論其實還是太簡單,在這里我將更全面的討論一下這個問題,雖然看起來有點吹毛求疵,不過做程序就應該抱著這種思想,不斷的精益求精~不是么:cool:。

首先,PHP數組遍歷的方式for、while、foreach不再多說了,不知道的可以自己去PHP官方查手冊,但是for、while、foreach遍歷數組的寫法也有不同,那么效果呢,接著看就知道咯~程序改自上面那個鏈接中Lilov所寫的程序,具體內容可以下載測試源文件改名為array_check.php后就可以運行

測試一:PHP4.4.1下,使用一維數組

編號 語句 時間
1 for($i = 0; $i < $num = count($arr); $i++) 0.1048162(s)
2 for($i = 0, $num = count($arr); $i < $num; $i++) 0.0698998(s)
3 while(list($key, $val) = each($arr)) 0.1437800(s)
4 while(list(, $val) = each($arr)) 0.1226320(s)
5 while(list($key, ) = each($arr)) 0.1119628(s)
6 foreach($arr as $key => $val) 0.0972550(s)
7 foreach($arr as $val) 0.0649691(s)

#T#可以看出7最快,不過這種方式不會返回下標,如果需要使用下標這種方法就不符合要求了。其次是2,看出來這種寫法和1有什么不同了么?2在循環前計算數組的長度,而1每次循環都要計算數組的長度所以2比1更高效。不過2和1都是一樣的,只能操作那種下標是數字而且數字連續的數組。第三是6,也就是一般討論中認為最快的方法,如果你操作數組的下標同時下標有是非連續數字那么毫無疑問應該選擇這個方法,至于慢的就不多說了,忘記這些用法吧:roll:

測試二:PHP4.4.1下,使用二位數組

編號 語句 時間
1 for($i = 0; $i < $num = count($arr); $i++) 0.0824819(s)
2 for($i = 0, $num = count($arr); $i < $num; $i++) 0.0523129(s)
3 while(list($key, $val) = each($arr)) 0.1273971(s)
4 while(list(, $val) = each($arr)) 0.0961161(s)
5 while(list($key, ) = each($arr)) 0.1245570(s)
6 foreach($arr as $key => $val) 0.0764248(s)
7 foreach($arr as $val) 1.1415598(s)


結果發生了重大變化

最快的是2,因為for并不會管多維的問題,所以和一維數組時相比速度并沒有發生太大的變化(至于為什么比一維還快,這個我只能說受文件中運算的影響....這種影響的而且確存在,用PEAR的Benchmark類測試的時候我就發現測試1次、100次、1000次得到的時間差別很大)

其次是6,同測試一中所說,如果2不能用(也就是下標不連續),6毫無疑問是***的選擇而令人跌破眼鏡的是7,竟然是最慢的,而且比第二慢的還要慢10倍...這個問題實在令人費解,后來我又做過比較細致的測試,發現7這種方法,主要受元素個數的影響,如果一維10個元素,那么如果第二維都有8個元素則7的速度和6幾乎一樣,如果一維30個元素,那么二維是6個元素時7和6速度基本一樣。但是如果一維1000個元素二維元素超過3個那么7就會比6慢很多了。

 

責任編輯:田樹 來源: 博客
相關推薦

2009-11-17 15:07:16

PHP數組遍歷

2009-11-18 15:05:56

PHP遞歸數組

2009-11-17 15:00:19

PHP遍歷數組

2009-11-18 11:30:26

PHP數組排序

2009-11-17 15:57:26

PHP數組合并

2009-11-17 17:07:01

PHP關聯數組

2009-11-17 09:46:31

PHP二維數組賦值

2009-11-16 17:59:13

PHP數組轉字符串

2009-11-17 15:33:26

PHP數組元素

2014-05-30 09:08:42

排序算法測試

2021-11-05 06:57:49

數組對象遍歷器

2009-11-17 16:09:04

PHP二維數組排序

2009-11-17 15:13:28

PHP數組

2012-02-22 14:18:06

測試測試人員

2009-02-01 09:29:44

2024-10-07 08:59:47

sleepwait線程

2013-07-03 11:28:47

2021-03-29 12:01:00

遍歷數組for循環

2010-01-05 17:59:46

PHP JSON數組對

2009-11-16 16:17:45

PHP數組排序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 999久久久久久久久6666 | 超碰av免费 | 久热久| 伊人激情网 | 国产成人午夜精品影院游乐网 | 九九av| 中文字幕第二十页 | 91视频在线网站 | 国产午夜精品理论片a大结局 | 在线精品观看 | 91pron在线 | 天天躁日日躁xxxxaaaa | 国产激情在线 | 久久久免费精品 | 欧美一区二区网站 | 夜夜草 | 国产一区二区影院 | 欧美自拍一区 | 欧美日韩综合视频 | 中文字幕av在线一二三区 | 欧美成人激情 | 亚洲国产精品99久久久久久久久 | 亚洲精品第一国产综合野 | 波多野结衣av中文字幕 | 国产xxxx岁13xxxxhd | 国产精品久久久久久亚洲调教 | 日韩一区二区免费视频 | www.夜夜骑.com | 波波电影院一区二区三区 | 亚洲成年人免费网站 | 亚洲精品在线看 | 国产精品美女久久久久aⅴ国产馆 | 成人午夜免费网站 | 亚洲中午字幕 | 成年人黄色小视频 | 午夜精品久久久久久久久久久久 | 中文字幕一区二区在线观看 | 久久久久久成人 | 成人国产精品 | 伊人网一区 | 久久男人|