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 Document 代码注释规范
Apr 13 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 PHP
php中url函数介绍及使用示例
Feb 13 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
php实现paypal 授权登录
May 28 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
php fread函数使用方法总结
May 28 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 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
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
Python实现合并字典的方法
2015/07/07 Python
Python制作Windows系统服务
2017/03/25 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python类的继承用法示例
2019/01/31 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
python中数据库like模糊查询方式
2020/03/02 Python
python动态规划算法实例详解
2020/11/22 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
外企办公室竞聘演讲稿
2013/12/29 职场文书
办理信用卡工作证明
2014/01/11 职场文书
小学毕业感言300字
2014/02/19 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
劲霸男装广告词
2014/03/21 职场文书
医德医风演讲稿
2014/05/20 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
总经理司机岗位职责
2015/04/10 职场文书
2015中学学校工作总结
2015/07/20 职场文书
组织委员竞选稿
2015/11/21 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript