PHP中strtr字符串替换用法详解


Posted in PHP onNovember 26, 2014

本文实例讲述了PHP中strtr字符串替换用法。分享给大家供大家参考。具体分析如下:

strtr(string,from,to)或者strtr(string,array)

首先针对strtr函数第一种方式,我们看看下面的举例,代码如下:

<?php 

echo strtr("I Love you","Lo","lO"); 

?>

得到的结果是:
1 I lOve yOu
这个结果提醒我们,1.strtr它是区分大小写的,2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意,再举一个特殊例子,说明这个php sttr函数的怪异,代码如下:
<?php 

echo strtr("I Love you","Love",""); 

?>

结果是:
I Love you
什么也不会改变,所以strtr需要注意的是:不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的,再次举例strtr函数的另一种情况,代码如下:
<?php 

echo strtr("I Loves you","Love","lOvEA"); 

?>

运行结果是
1 I lOvEs yOu
注意看第三个参数的A,在结果中并没有出现.

我不建议用strtr以少换多,既然这个strtr函数挺麻烦为什么还要用呢?原因是,它的速度很快,据说,strtr 比 str_replace 快四倍,所以能用strtr函数的时候一定要用,那怎么用才舒服?这就是它的第二种情况:strtr(string,array)

strtr符合意愿的使用方法,代码如下:

<?php 

$table_change = array('you'=>'her sister'); 

echo strtr("I Love you",$table_change); 

?>

结果为:
I Love her sister
小技巧:你想到替换什么你就往数组加什么,比如代码如下:
<?php 

$table_change = array('you'=>'her sister'); 

$table_change += array('Love' => 'hate'); 

echo strtr("I Love you",$table_change); 

?>

结果是
I hate her sister
再次提醒那个Love 写成love 是行不通的,乱七八糟说了一通,其实关于strtr最想说的就是这个后面的用法了简单方便,貌似后面的用法也忽略掉了前后字符长度不同的问题,以上php strtr函数实验,PHP5.2 测试通过,代码如下:
<?php 

//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123") 

echo strtr("paocai!","pao","bai123"); 

?>

实例2:当被替换的值长度小于被替换目标的时候,以下为引用的内容,代码如下:
<?php

//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")

echo strtr("paocai!","pao","la");

?>

实例3:支持数组替换,以下为引用的内容,代码如下:
<?php

$Arr=array('ao'=>'oa','ai'=>'ia');

echo strtr("paocai!",$Arr); //这个时候输出的为poacia

?>

其次是str_replace,以下为引用的内容,代码如下:
<?php

echo str_replace("you","paocai","I love you!"); //会输出I love paocai! 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 中的一些经验积累
Oct 09 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
php实现给图片加灰色半透明效果的方法
Oct 20 PHP
php取得字符串首字母的方法
Mar 25 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
PHP计算近1年的所有月份
Mar 13 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
thinkphp模板继承实例简述
Nov 26 #PHP
thinkphp中空模板与空模块的用法实例
Nov 26 #PHP
PHP中SimpleXML函数用法分析
Nov 26 #PHP
ThinkPHP模板输出display用法分析
Nov 26 #PHP
php中数字、字符与对象判断函数用法实例
Nov 26 #PHP
PHP中array_slice函数用法实例详解
Nov 25 #PHP
ThinkPHP框架设计及扩展详解
Nov 25 #PHP
You might like
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
Laravel 队列使用的实现
2019/01/08 PHP
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
自定义require函数让浏览器按需加载Js文件
2016/11/24 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JS实现简单抖动效果
2017/06/01 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
jsonp跨域请求详解
2017/07/13 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python递归函数绘制分形树的方法
2018/06/22 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
一个入门级python爬虫教程详解
2021/01/27 Python
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
Java程序员面试题
2016/09/27 面试题
心得体会怎么写
2013/12/30 职场文书
教学实习自我评价
2014/01/28 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
新闻通讯稿模板
2015/07/22 职场文书