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 相关文章推荐
IP138 IP地址查询小偷实现代码
Feb 15 PHP
比较时间段一与时间段二是否有交集的php函数
May 31 PHP
php打造属于自己的MVC框架
Mar 07 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php绘制一条弧线的方法
Jan 24 PHP
PHP+APACHE实现网址伪静态
Feb 22 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
Apr 30 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 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/01/30 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
2013/06/06 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
javascript hashtable实现代码
2009/10/13 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
vue v-model的用法解析
2020/10/19 Javascript
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
事业单位竞聘上岗实施方案
2014/03/28 职场文书
企业晚会策划方案
2014/05/29 职场文书
远程培训的心得体会
2014/09/01 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
举起手来观后感
2015/06/09 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
Win11更新失败并提示0xc1900101
2022/04/19 数码科技
Golang 入门 之url 包
2022/05/04 Golang