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初学者头疼问题总结
Jul 08 PHP
一个程序下载的管理程序(二)
Oct 09 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
PHP面向对象——访问修饰符介绍
Nov 08 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
smarty表格换行实例
Dec 15 PHP
PHP 正则表达式小结
Feb 12 PHP
PHP单例模式详细介绍
Jul 01 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 PHP
PHP实现计算器小功能
Aug 28 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
json 实例详细说明教程
2009/10/31 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
Python中is与==判断的区别
2017/03/28 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
某同学的自我鉴定范文
2013/12/26 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android