PHP替换函数知多少,值得您收藏
在web编程里面,替换是非常常用的操作,比如可以实现获取id.html里面的id值去查询数据库获取相应的信息,又比如我们的接口需要将模板中的参数替换为某些指定的数据(比如短信模板、某些活动模板等等)生成最后的相应数据等等,今天我们就来聊聊PHP里面的替换函数。
str_replace
从上面的4个例子,我们能够看到,该函数最多可接受4个参数,但是前三个参数是必须传递的,并且从最后一个例子看到,最后一个参数其实是一个引用参数,用来保存真正发生了多少次替换,从第三个例子,我们能够看到,如果第一个和第一个参数都为数组的话,那么结果是将目标字符串里面的相应字符串分别替换,从第二个例子看到,如果第一个参数为数组,而第二个参数为字符串,那么这个时候分别将目标字符串中满足第一个参数的字符串替换为第二个参数。
substr_replace
从上面的例子,我们能够看到str_replace的替换是提供了搜索字符串和替换字符串的,即第一个和第二个参数,但是有时候,我们遇到的需求是将某个字符串的某个位置范围替换为其他的字符串,那么这个时候,用str_replace就无法一步做到了,这时,我们可以用这个函数来实现。
从上面的例子可以看到,该函数也能够接收4个参数,理解这个函数,我们可以联系substr函数,而substr函数就是截取某个字符串里面的某范围的子串,而这个函数就是将这个截取的子串替换为第二个参数指定的替换字符串,同理对于提供数组的参数也是一样的理解,只不过这时是分别替换而已。
preg_replace
前面两个函数能够处理的都是固定的字符串,但是在项目中,很多时候,我们替换的字符串都是不固定的,那么这个时候就需要用基于正则表达式的替换,这里提醒大家的是,不到万不得已,尽可能不用正则表达式替换。
这个函数的最后两个参数需要注意一下,一个就是限制替换次数,一个和前面一样,真正执行了多少次替换。
strtr
看了前面的几个函数,心理只想说一句,妈呀,又是字符串又是数组的,太难理解了,下面我们来换一个轻松一点的替换函数,就是strtr了,从上面的例子我们很清楚的看到,基于字符串的替换就很干脆,直接查找替换就可以了,对于有数组的替换,也很简单,仅仅就是将目标字符串中符合数组KEY的字符串分别替换为相应KEY的值就可以了。
不过这里需要注意的是,字符串是单字节,而数组是整个key,有了这个说明,相信大家很快就能够明白这个函数的使用。
array_replace
从上面的例子,我们能够看到,该函数其实很简单,就是将第一个参数里面指定的数组按照后面提供的数组指定的键值对分别替换。
array_merge
为什么这个函数会在这里呢?不是两个数组的合并吗?关键是两个数组合并的时候,如果有多个KEY相同的话,那么最后的结果是最后一个key及其对应的值将存活下来。
说了这么多的替换函数,我们只要合理的应用好这些替换函数,一定能够减少很多的、重复造轮子的代码,感谢大家阅读本文章,如果觉得文章不错,多多给我们评论、分享和赞哈,以鼓励我们创作更多好的原创文章给大家阅读和交流。