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 相关文章推荐
QueryPath PHP 中的jQuery
Apr 11 PHP
php上传文件的增强函数
Jul 21 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
Feb 05 PHP
PHP关联链接常用代码
Nov 05 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
Laravel重写用户登录简单示例
Oct 08 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
PHP number_format函数原理及实例解析
Jul 14 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验证码代码
2012/02/27 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
Python使用MONGODB入门实例
2015/05/11 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
Django之模板层的实现代码
2019/09/09 Python
详解django中Template语言
2020/02/22 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
为什么要使用servlet
2016/01/17 面试题
一年级班主任感言
2014/03/08 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
机关作风建设心得体会
2014/10/22 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
闪闪红星观后感
2015/06/08 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书