PHP中str_replace函数使用小结


Posted in PHP onOctober 11, 2008

这段时间在看《PHP和MySQL Web开发》一书看到str_replace讲解,一段小提示写到:可以为str_replace的三个都使用数组传入,但讲解比较简单,于是决定自己的试验一下该函数在各个参数传入数组时的执行结果。

函数原型:mixed str_replace(mixed needle,mixed new_needle,mixed haystack[,int &count]);
needle:要被替换的字符串,new_needle:替换用的字符串,haystack:操作字符串,count:替换次数【可选参数】

我们重点试验前三个在使用数组是的执行方式:

在都不使用数组时,该函数直接使用new_needle替换所有的needle并返回替换后的字符串。如:str_replace("m","n","my name is jim!")返回ny nane is jin!

1、只对needle使用数组。

示例:str_replace(array('m','i'),'n',"my name is jim!");返回:ny nane ns jnn!
可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。

2、只对new_needle使用数组。

示例:str_replace('m',array('n','z'),"my name is jim!\n")返回:Arrayy naArraye is jiArray!
该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的needle替换为了数组。

3、只对haystack使用数组。

示例:str_replace("m","n",array("my name is jim!","the game is over!"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。
如果输出数组内容会看到:ny nane is jin! the gane is over!

4、对needle和new_needle都使用数组。

示例:str_replace(array("m","i"),array("n","z"),"my name is jim!")返回:ny nane zs jzn!
查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及needle的第一项替换为new_needle的第一项。以此类推。

如果needle数组比new_deedle长,例如:str_replace(array("m","i","s"),array("n","z"),"my name is jim!");返回:ny nane z jzn!可见,对于needle数组多出来的字符串被替换为了空串。
如果new_needle数组比needle长,例如:str_replace(array("m","i"),array("n","z","x"),"my name is jim!")返回ny nane zs jzn!可见new_needle多余的项被忽略。

5、三个参数都使用数组。

例如:str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"))返回的数组内容:ny nane zs jzn!the gane zs over
这个比较好理解,对两个字符串分别执行替换。

简单总结下,防止自己忘记!

PHP 相关文章推荐
php中的实现trim函数代码
Mar 19 PHP
PHP+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP中CURL方法curl_setopt()函数的参数分享
Jan 19 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
php操作mongoDB实例分析
Dec 29 PHP
php绘制一条弧线的方法
Jan 24 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
php实例化对象的实例方法
Nov 17 PHP
php preg_match_all结合str_replace替换内容中所有img
Oct 11 #PHP
php email邮箱正则
Oct 08 #PHP
php获取地址栏信息的代码
Oct 08 #PHP
Cannot modify header information错误解决方法
Oct 08 #PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 #PHP
php 友好URL的实现(吐血推荐)
Oct 04 #PHP
PHP注释实例技巧
Oct 03 #PHP
You might like
Php+SqlServer实现分页显示
2006/10/09 PHP
关于页面优化和伪静态
2009/10/11 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php之curl设置超时实例
2014/11/03 PHP
php模板引擎技术简单实现
2016/03/15 PHP
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
基于jquery & json的省市区联动代码
2012/06/26 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
营业员演讲稿
2013/12/30 职场文书
积极分子思想汇报
2014/01/04 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
党委领导班子整改方案
2014/09/30 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
pandas中pd.groupby()的用法详解
2022/06/16 Python