欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳談php中 strtr 和 str_replace 的效率問題

 更新時間:2017年05月14日 09:32:19   投稿:jingxian  
下面小編就為大家?guī)硪黄斦刾hp中 strtr 和 str_replace 的效率問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在網(wǎng)上看了一些php優(yōu)化的指南,里面提到:使用strtr 函數(shù) 比 str_replace快4倍。 本著探索的精神動手驗證。

代碼

$string = 'abcdefg';
set_time_limit(300);
 
$start = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
  $str = str_replace('a', '123', $string);
}
 
echo microtime(true)-$start, '<br />';
 
$start = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
  $str = strtr($string, ['a'=>'123']);
}
 
echo microtime(true)-$start, '<br />';

平臺(筆記本):win10 + i5 + 8G固態(tài)

環(huán)境1:php 5.6 nts +apache

測試條件: 10000000次循環(huán)

結果:    str_replace :3.2446131706238 秒   
               strtr: 36.379708051682 秒 

環(huán)境2:php 7.0 nts +apache

測試條件: 10000000次循環(huán)

結果:    str_replace :9.3426380157471秒   
               strtr: 9.3660399913788秒 

環(huán)境3:php 5.6 nts + nginx

測試條件: 10000000次循環(huán)

結果:    str_replace :3.2784769535065 秒   
               strtr: 35.701732158661 秒 

環(huán)境4:php 7.0nts +nginx

測試條件: 10000000次循環(huán)

結果:    str_replace :9.5572259426117 秒   
               strtr: 9.4987349510193 秒 

意外發(fā)現(xiàn), 5.6版本 str_replace  比 strtr 效率高10+倍,  7.0版本效率基本相同, 但5.6的 str_replace  竟比 7.0高 3倍

ps:以上測試,每個環(huán)境都測試了3+次,結果取平均值

以上這篇詳談php中 strtr 和 str_replace 的效率問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • PHP輸出緩存ob系列函數(shù)詳解

    PHP輸出緩存ob系列函數(shù)詳解

    ob,輸出緩沖區(qū),是output buffering的簡稱,而不是output cache。ob用對了,是能對速度有一定的幫助,但是盲目的加上ob函數(shù),只會增加CPU額外的負擔
    2014-03-03
  • PHP 緩存實現(xiàn)代碼及詳細注釋

    PHP 緩存實現(xiàn)代碼及詳細注釋

    PHP緩存實現(xiàn),實現(xiàn)了apc和文件緩存,繼承Cache_Abstract即可實現(xiàn)調用第三方的緩存工具。參考shindig的緩存類和apc。
    2010-05-05
  • php安全配置記錄和常見錯誤梳理(總結)

    php安全配置記錄和常見錯誤梳理(總結)

    下面小編就為大家?guī)硪黄猵hp安全配置記錄和常見錯誤梳理(總結)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • PHP WebSocket的技術解析與使用指南詳解

    PHP WebSocket的技術解析與使用指南詳解

    在這篇文章中我們將深入討論從建立連接、綁定到監(jiān)聽等各方面的操作,并提供易于理解和實踐的指導,希望可以幫助大家掌握在PHP中使用WebSocket的關鍵概念和技術
    2024-02-02
  • PHP 存儲文本換行實現(xiàn)方法

    PHP 存儲文本換行實現(xiàn)方法

    在文本存儲時使用\n如果發(fā)現(xiàn)沒有效果, 這時可以使用\r\n就可以了,希望對有需要的朋友有所幫助。
    2010-01-01
  • PHP Memcached + APC + 文件緩存封裝實現(xiàn)代碼

    PHP Memcached + APC + 文件緩存封裝實現(xiàn)代碼

    PHP Memcached + APC + 文件緩存封裝實現(xiàn)代碼,需要的朋友可以參考下。
    2010-03-03
  • 小文件php+SQLite存儲方案

    小文件php+SQLite存儲方案

    在互聯(lián)網(wǎng)快速發(fā)展的背景下,網(wǎng)絡上的數(shù)據(jù)內容呈幾何級的增長,而其中增長最快并且最容易給信息基礎架構帶來挑戰(zhàn)的就是數(shù)目龐大的小文件(如圖片、電子圖書、郵件等)。
    2010-09-09
  • PHP+MySQL實現(xiàn)消息隊列的方法分析

    PHP+MySQL實現(xiàn)消息隊列的方法分析

    這篇文章主要介紹了PHP+MySQL實現(xiàn)消息隊列的方法,結合實例形式分析了php+mysql構建消息隊列并使用定時器間歇發(fā)送信息相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • mac系統(tǒng)下為 php 添加 pcntl 擴展

    mac系統(tǒng)下為 php 添加 pcntl 擴展

    pcntl中php實現(xiàn)多進程必須要安裝的擴展,本文給大家簡單介紹下如何在mac系統(tǒng)中為 php 添加 pcntl 擴展
    2016-08-08
  • php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求

    php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求

    以下是對php中如何判斷一個網(wǎng)頁請求是ajax請求還是普通請求的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08

最新評論