详谈php中 strtr 和 str_replace 的效率问题

 更新时间:2017年05月14日 09:32:19   投稿:jingxian  
下面小编就为大家带来一篇详谈php中 strtr 和 str_replace 的效率问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在网上看了一些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, '<br />';
 
$start = microtime(true);
for ($i = 0; $i < 10000000; $i++) {
  $str = strtr($string, ['a'=>'123']);
}
 
echo microtime(true)-$start, '<br />';

平台(笔记本):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+次,结果取平均值

以上这篇详谈php中 strtr 和 str_replace 的效率问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • PHP 中的面向对象编程:通向大型 PHP 工程的办法

    PHP 中的面向对象编程:通向大型 PHP 工程的办法

    PHP 中的面向对象编程:通向大型 PHP 工程的办法...
    2006-12-12
  • 深入file_get_contents与curl函数的详解

    深入file_get_contents与curl函数的详解

    本篇文章是对file_get_contents与curl函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php自定义时间转换函数示例

    php自定义时间转换函数示例

    这篇文章主要介绍了php自定义时间转换函数,可实现时间戳与字符串时间显示格式之间的转换功能,需要的朋友可以参考下
    2016-12-12
  • PHP数据库操作三:redis用法分析

    PHP数据库操作三:redis用法分析

    这篇文章主要介绍了PHP数据库操作redis用法,结合实例形式详细分析了php安装、使用redis的步骤、方法与相关注意事项,需要的朋友可以参考下
    2017-08-08
  • php实现curl模拟ftp上传的方法

    php实现curl模拟ftp上传的方法

    这篇文章主要介绍了php实现curl模拟ftp上传的方法,实例分析了php基于curl实现FTP传输文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP简单实现欧拉函数Euler功能示例

    PHP简单实现欧拉函数Euler功能示例

    这篇文章主要介绍了PHP简单实现欧拉函数Euler功能,简单说明了欧拉函数的概念、原理,并结合实例形式分析了php实现欧拉函数的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • php数组添加元素方法小结

    php数组添加元素方法小结

    这篇文章主要介绍了php数组添加元素方法,实例总结了常见的数组添加元素的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 深入解析PHP中SESSION反序列化机制

    深入解析PHP中SESSION反序列化机制

    这篇文章主要介绍了PHP中SESSION反序列化机制的相关资料,文中介绍的非常相信,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 浅析PHP数据导出知识点

    浅析PHP数据导出知识点

    本文是小编整理的关于PHP数据导出知识点的总结内容,分析了经常出现的问题,以及解决办法,有兴趣的朋友可以参考学习下。
    2018-02-02
  • PHP函数extension_loaded()用法实例

    PHP函数extension_loaded()用法实例

    这篇文章主要介绍了PHP函数extension_loaded()用法,实例分析了函数extension_loaded()检查一个扩展是否已经加载的具体用法,并补充说明了查看本机已加载php扩展的方法,需要的朋友可以参考下
    2015-01-01

最新评论