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 编写的 25个游戏脚本
May 11 PHP
JSON在PHP中的应用介绍
Sep 08 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php实现的mongodb操作类实例
Apr 03 PHP
php获取一定范围内取N个不重复的随机数
May 28 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
php实现删除空目录的方法
2015/03/16 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python算法应用实战之栈详解
2017/02/04 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
shell程序中如何注释
2012/01/28 面试题
工商管理实习自我鉴定
2013/09/28 职场文书
外语专业毕业生自我评价分享
2013/10/05 职场文书
销售经理岗位职责
2014/03/16 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
债务纠纷起诉书
2015/05/20 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python