最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php foreach、while性能比較

 更新時間:2009年10月15日 22:33:38   作者:  
foreach是對數組副本進行操作(通過拷貝數組),而while則通過移動數組內部指標進行操作,一般邏輯下認為,while應該比foreach快.
foreach是對數組副本進行操作(通過拷貝數組),而while則通過移動數組內部指標進行操作,一般邏輯下認為,while應該比foreach快(因為foreach在開始執(zhí)行的時候首先把數組復制進去,而while直接移動內部指標。),但結果剛剛相反。
在循環(huán)里進行的是數組“讀”操作,則foreach比while快:
復制代碼 代碼如下:

foreach ($array as $value) {
echo $value;
}
while (list($key) = each($array)) {
echo $array[$key];
}

在循環(huán)里進行的是數組“寫”操作,則while比foreach快:
復制代碼 代碼如下:

foreach ($array as $key => $value) {
echo $array[$key] = $value . '...';
}
while (list($key) = each($array)) {
$array[$key] = $array[$key] . '...';
}

總結:通常認為,foreach涉及到值復制,一定會比while慢,但實際上,如果僅僅是在循環(huán)里進行數組的讀操作,那么foreach是很
快的,這是因為PHP采用的復制機制是“引用計數,寫時復制”,也就是說,即便在PHP里復制一個變量,最初的形式從根本上說其實
仍然是引用的形式,只有當變量的內容發(fā)生變化時,才會出現(xiàn)真正的復制,之所以這么做是出于節(jié)省內存消耗得目的,同時也提升了
復制的效率。這樣看來,foreach的高效讀操作就不難理解了。另外,既然foreach不適合處理數組寫操作,那么我們可以得出一個結
論,多數情況下,類似foreach ($array as $key => $value)形式的做數組寫操作得代碼都應該被替換成while (list($key) =
each($array))。這些技巧產生的速度差異在小項目里可能并不明顯,但是在類似框架這樣的大項目中,一次請求動輒便會涉及到幾
百幾千幾萬次數組循環(huán)操作,差異就會明顯放大。

相關文章

  • PHP開發(fā)中常用的8個小技巧

    PHP開發(fā)中常用的8個小技巧

    PHP日常開發(fā)中常用的8個小技巧。簡單實用
    2008-08-08
  • PHP 讀取和修改大文件的某行內容的代碼

    PHP 讀取和修改大文件的某行內容的代碼

    最近碰到一個比較有趣的問題,就是修改某個文件的某一行字符,不過文件太大,file()直接讀取是不可能的,我使用fgets來跳轉到指定行,并用fwrite修改某個字符串。
    2009-10-10
  • libmysql.dll與php.ini是否真的要拷貝到c:\windows目錄下呢

    libmysql.dll與php.ini是否真的要拷貝到c:\windows目錄下呢

    很多安裝PHP的教程,都是教大家把php里的libmysql.dll拷貝到c:\windows目錄下(有的教程會說還要把php.ini等文件拷到系統(tǒng)目錄的,其實一個文件都不用拷貝去的。)。
    2010-03-03
  • 修改Laravel5.3中的路由文件與路徑

    修改Laravel5.3中的路由文件與路徑

    本文先是回顧了Laravel5.2中路由的修改,然后給大家用實例代碼介紹了如何修改Laravel5.3中的路由,有需要的小伙伴們可以參考學習。
    2016-08-08
  • php實現(xiàn)可逆加密的方法

    php實現(xiàn)可逆加密的方法

    這篇文章主要介紹了php實現(xiàn)可逆加密的方法,借鑒了discuz的加密原理實現(xiàn)通過密鑰進行可逆加密的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • php 廣告調用類代碼(支持Flash調用)

    php 廣告調用類代碼(支持Flash調用)

    php 廣告調用類代碼(支持Flash調用),非常方便php頁面中加載廣告。需要的朋友可以參考下。
    2011-08-08
  • PHP獲取昨天、今天及明天日期的方法

    PHP獲取昨天、今天及明天日期的方法

    這篇文章主要介紹了PHP獲取昨天、今天及明天日期的方法,涉及PHP針對時間與日期的相關操作技巧,非常簡單實用,需要的朋友可以參考下
    2016-02-02
  • PHP的SQL注入過程分析

    PHP的SQL注入過程分析

    今天從網上學習了有關SQL注入的基本技能,SQL注入的重點就是構造SQL語句,只有靈活的運用SQL語句才能構造出牛的注入字符串
    2012-01-01
  • 一文搞懂PHP中的DI依賴注入

    一文搞懂PHP中的DI依賴注入

    依賴注入DI 其實本質上是指對類的依賴通過構造器完成 自動注入。本文將通過一些示例帶大家深入了解一下PHP中的DI依賴注入,需要的可以參考一下
    2022-08-08
  • php好代碼風格的階段性總結

    php好代碼風格的階段性總結

    這篇文章主要介紹了php好代碼風格,階段性總結了php程序設計中變量、函數、參數的相關使用注意事項與編程技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06

最新評論

沙洋县| 梁山县| 枣强县| 信宜市| 天长市| 龙山县| 介休市| 临清市| 扎兰屯市| 留坝县| 桂阳县| 临漳县| 阿拉善右旗| 岳西县| 太湖县| 梅河口市| 桂阳县| 泰和县| 武川县| 沙田区| 开远市| 邹平县| 南陵县| 海晏县| 静宁县| 冷水江市| 金山区| 米泉市| 华蓥市| 霍州市| 蕉岭县| 公安县| 万安县| 彰化县| 宿迁市| 富顺县| 隆尧县| 安丘市| 合作市| 贡山| 华安县|