当前位置: 首页 » 产品 » 商务广告 » 正文

php中 strtr 和 str_replace 的效率问题

放大字体  缩小字体 发布日期: 2025-03-16 19:59   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:11
核心提示:  在网上看了一些php优化的指南,里面提到:使用strtr 函数 比 str_replace快4倍。 本着探索的精神动手验证。  代码  $str

  在网上看了一些php优化的指南,里面提到:使用strtr 函数 比 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, '

  ';

  $start=microtime(true);

  for ($i=0; $i < 10000000; $i++) {

  $str=strtr($string, ['a'=>'123']);

  }

  echo microtime(true)-$start, '

  ';

  平台(笔记本):win10 + i5 + 8G固态

  环境1:php 5.6 nts +apache

  测试条件: 10000000次循环

  结果: str_replace :3.2446131706238 秒

  strtr: 36.379708051682 秒

  环境2:php 7.0 nts +apache

  测试条件: 10000000次循环

  结果: str_replace :9.3426380157471秒

  strtr: 9.3660399913788秒

  环境3:php 5.6 nts + nginx

  测试条件: 10000000次循环

  结果: str_replace :3.2784769535065 秒

  strtr: 35.701732158661 秒

  环境4:php 7.0nts +nginx

  测试条件: 10000000次循环

  结果: str_replace :9.5572259426117 秒

  strtr: 9.4987349510193 秒

  意外发现, 5.6版本 str_replace 比 strtr 效率高10+倍, 7.0版本效率基本相同, 但5.6的 str_replace 竟比 7.0高 3倍

  ps:以上测试,每个环境都测试了3+次,结果取平均值

内容来源:https://www.16jixie.com/news/show-3274.html
 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
    行业协会  备案信息  可信网站