[風言風語終結者] PHP for / foreach / while 效能比較

來源:互聯網
上載者:User
[流言終結者] PHP for / foreach / while 效能比較
我女噴友跟我說哦, 那個啥, 聽別人說php中最好用foreach不要用for, 因為效能會好點.

我第一反應就是覺得沒可能, 第二反應是想一下為什麼別人會有這樣的結論.

我猜測有的孩紙測試for時, 大概用了以下形式:
for($i=0; $i

孩紙, 每次迴圈都要count一下$array裡有多少東西, 這可是要耗資源的, 除非將來某個版本的PHP會對這種方式做最佳化.改為以下形式:
$arraySize = count($array);for($i=0; $i<$arraySize; $i++){...}


PHP對foreach的內部最佳化估計也是這樣的.

然後我就上網找了一下持有"foreach比for效率高"觀點的孩紙的實驗是怎麼做的, 找到其中一個結果:

http://www.phpq.net/research/foreach-while-for.html

果然如我所想, TA在測試for的時候, 用了以下的形式:
for($i = 0; $i < count($arr); $i++){$str .= $arr[$i];}


我拿TA的實驗用例改為:
$size = count($arr);
for($i = 0; $i < $size; $i++){
$str .= $arr[$i];

效率就上來了.

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.