中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

PHP數組遍歷的對比測試

發布時間:2021-09-18 15:54:42 來源:億速云 閱讀:143 作者:chen 欄目:編程語言

本篇內容介紹了“PHP數組遍歷的對比測試”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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


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

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

編號語句時間
1for($i = 0; $i < $num = count($arr); $i++)0.0824819(s)
2for($i = 0, $num = count($arr); $i < $num; $i++)0.0523129(s)
3while(list($key, $val) = each($arr))0.1273971(s)
4while(list(, $val) = each($arr))0.0961161(s)
5while(list($key, ) = each($arr))0.1245570(s)
6foreach($arr as $key => $val)0.0764248(s)
7foreach($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慢很多了。

“PHP數組遍歷的對比測試”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

简阳市| 石阡县| 哈巴河县| 鄂托克前旗| 原阳县| 上林县| 连州市| 六盘水市| 临潭县| 普宁市| 东辽县| 枣强县| 平罗县| 绥宁县| 措美县| 济宁市| 永泰县| 临夏县| 莫力| 鄂温| 堆龙德庆县| 海宁市| 新建县| 佛坪县| 江北区| 衡水市| 息烽县| 资源县| 阿尔山市| 义马市| 乐清市| 克什克腾旗| 永济市| 民丰县| 永寿县| 山阳县| 苍南县| 石渠县| 星子县| 昆明市| 德惠市|