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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
PHP中JSON的应用技巧
Oct 10 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
laravel 时间格式转时间戳的例子
Oct 11 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的自定义模板引擎
2017/03/24 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
mouse_on_title.js
2006/08/25 Javascript
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
JavaScript 的继承
2011/10/01 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
python迭代器的使用方法实例
2013/11/21 Python
python实现汉诺塔方法汇总
2016/07/25 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python爬取个性签名的方法
2018/06/17 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
大一自我鉴定范文
2013/12/27 职场文书
小学生新学期寄语
2014/01/19 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
工作保证书怎么写
2015/02/28 职场文书
学校教师培训工作总结
2015/10/14 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
angular异步验证器防抖实例详解
2022/03/31 Javascript
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js