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的知识
Nov 17 PHP
cache_lite试用
Feb 14 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
PHP代码审核的详细介绍
Jun 13 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
PHP通过串口实现发送短信
Jul 08 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
PHP PDOStatement::execute讲解
Jan 31 PHP
微信公众号之主动给用户发送消息功能
Jun 22 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
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
vue组件学习教程
2017/09/09 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Django 大文件下载实现过程解析
2019/08/01 Python
python global关键字的用法详解
2019/09/05 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
详解pandas映射与数据转换
2021/01/22 Python
个性发展自我评价
2014/02/11 职场文书
研究生简历自我评
2015/03/11 职场文书
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS