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中的加密功能
Oct 09 PHP
多数据表共用一个页的新闻发布
Oct 09 PHP
支持oicq头像的留言簿(一)
Oct 09 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
支持中文的php加密解密类代码
Nov 27 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
Laravel5中Cookie的使用详解
May 03 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
php实现的数组转xml案例分析
Sep 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 FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python中文件操作简明介绍
2015/04/13 Python
解决Python requests 报错方法集锦
2017/03/19 Python
django 创建过滤器的实例详解
2017/08/14 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
国际花店:Pickup Flowers
2020/04/10 全球购物
名人演讲稿范文
2013/12/28 职场文书
退休感言
2014/01/28 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
抵押贷款承诺书
2014/05/30 职场文书
校庆团日活动总结
2014/08/28 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
学生退学证明
2015/06/23 职场文书
董事会决议范本
2015/07/01 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
JavaScript实现优先级队列
2021/12/06 Javascript
Consul在linux环境的集群部署
2022/04/08 Servers