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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
php获取301跳转URL简单实例
Dec 16 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php需登录的文件上传管理系统
Mar 21 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
PHP7之Mongodb API使用详解
Dec 26 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 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
yii分页组件用法实例分析
2015/12/28 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP中Array相关函数简介
2016/07/03 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
Python中使用dom模块生成XML文件示例
2015/04/05 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python爬取网易云音乐评论
2018/11/16 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Python的Lambda函数用法详解
2019/09/03 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
安装PyInstaller失败问题解决
2019/12/14 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
取保候审保证书
2014/04/30 职场文书
消防安全标语
2014/06/07 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS