搜索

查看: 3239|回复: 11

[PHP] php函数之strtr和str_replace的用法详解以及效率分析 原创

[复制链接]
发表于 2023-5-4 17:07:27 | 显示全部楼层 |阅读模式
Editor 2023-5-4 17:07:27 3239 11 看全部
目录
  • 一. str_repalce()用法
  • 二. strtr()用法
  • 三. 效率对比
  • 四. 总结PHP中主要用strtr()和str_repalce()这两个函数替换字符串和数组,但你们都知道他们这两个函数的区别和用法吗?有不少文章在说使用strtr函数比str_replace快4倍,那为什么很多时候都在用str_replace,到底应该使用哪个函数呢?

    一. str_repalce()用法
    str_replace(find,replace,string,count)
    find:规定要查找的字符串或数组;
    replace:被用来替换的字符串或数组;
    string:被查询的字符串或数组;
    count:可选,替换的次数
    blue [1] => pink [2] => green [3] => yellow )
      echo "
    " . $count; //输出替换次数1
      //实例三:数组替换数组,一一映射替换
      $arr1 = array("banana","orange");
      $arr2 = array("pitaya","tomato");
      $con_arr = array("apple","orange","banana","grape");
      $con_rep = str_replace($arr1,$arr2,$con_arr,$count1);
      print_r($con_rep);
      //输出结果
      // Array ( [0] => apple [1] => tomato [2] => pitaya [3] => grape )
      echo "
    " . $count1; //输出替换次数2
      //实例四:如$search为数组,$replace为字符串时
      $search = array("banana","grape");
      $replace = "tomato";
      $arr = array("banana","apple","orange","grape");
      $new_arr = str_replace($search,$replace,$arr,$count2);
      print_r($new_arr);
      //输出结果
      //Array ( [0] => tomato [1] => apple [2] => orange [3] => tomato )
      echo "
    " . $count2; //输出替换次数2
    ?>


    二. strtr()用法

    "Hi", "world" => "earth");
            echo strtr("Hello world",$arr);
            /*输出结果:
            Hi earth*/
    ?>
    三. 效率对比
    笔者使用apache环境和nginx环境做了测试:5.6版本 str_replace 比 strtr 平均效率高4倍,7.1版本效率基本相同。

    四. 总结
    使用strtr会出现一些不可控的错误,strtr被查询替换的只能是字符串,而且str_replace函数比strtr效率高、速度快,因此推荐使用str_replace函数替换字符串或数组。
    到此这篇关于php函数之strtr和str_replace的用法详解以及效率分析的文章就介绍到这了,更多相关php函数strtr和str_replace对比内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章。希望大家以后多多支持知鸟论坛!
  • 发表于 2023-6-29 13:38:30 | 显示全部楼层
    我是的十八簿 2023-6-29 13:38:30 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-29 13:54:38 | 显示全部楼层
    惜颜705 2023-6-29 13:54:38 看全部
    我看不错噢 谢谢楼主!知鸟论坛越来越好!
    发表于 2023-6-29 18:44:03 | 显示全部楼层
    井底燕雀傥 2023-6-29 18:44:03 看全部
    这东西我收了!谢谢楼主!知鸟论坛真好!
    发表于 2023-6-29 22:16:37 | 显示全部楼层
    十二音阶囤 2023-6-29 22:16:37 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    发表于 2023-6-29 22:27:35 | 显示全部楼层
    ffycxyw2274436 2023-6-29 22:27:35 看全部
    其实我一直觉得楼主的品味不错!呵呵!知鸟论坛太棒了!
    发表于 2023-6-30 01:24:49 | 显示全部楼层
    贰十岁装成熟装s 2023-6-30 01:24:49 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    发表于 2023-6-30 07:09:20 | 显示全部楼层
    小妖花满楼满fx 2023-6-30 07:09:20 看全部
    楼主发贴辛苦了,谢谢楼主分享!我觉得知鸟论坛是注册对了!
    发表于 2023-6-30 09:20:40 | 显示全部楼层
    123456865 2023-6-30 09:20:40 看全部
    这个帖子不回对不起自己!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-30 15:11:31 | 显示全部楼层
    无人岛屿颈 2023-6-30 15:11:31 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    • 您可能感兴趣
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| 小黑屋| 知鸟论坛 |网站地图
    本站资源来自互联网用户收集发布,如有侵权请邮件联系处理。 联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表