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 相关文章推荐
第九节--绑定
Nov 16 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
PHP实现文件上传操作和封装
Mar 04 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP数组array类常见操作示例
May 15 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实现网站插件机制的方法
2009/11/10 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
PHP判断表达式中括号是否匹配的简单实例
2016/10/22 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
jquery中get和post的简单实例
2014/02/04 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
js面向对象的写法
2016/02/19 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Python二元赋值实用技巧解析
2019/10/25 Python
python regex库实例用法总结
2021/01/03 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
蛋糕店的商业计划书范文
2014/01/27 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
环境科学专业求职信
2014/08/04 职场文书
营销学习心得体会
2014/09/12 职场文书
无犯罪记录证明
2014/09/19 职场文书
爱的教育观后感
2015/06/17 职场文书
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技