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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
php中的比较运算符详解
Oct 28 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
php银联网页支付实现方法
Mar 04 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
Sep 30 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 PHP
php中pcntl_fork详解
Apr 01 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代码
2010/08/08 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php header功能的使用
2013/10/28 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
重定向实现代码
2006/11/20 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
详解python中的index函数用法
2019/08/06 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
人民教师的自我评价分享
2014/02/21 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
网络舆情信息简报
2015/07/21 职场文书
学校食堂管理制度
2015/08/04 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
《日月潭》教学反思
2016/02/20 职场文书
python图像处理 PIL Image操作实例
2022/04/09 Python