PHP中strtr()和str_replace()的区别

转:
strtr和str_replace同样都是字符替换函数,以前没怎么用过strtr,今天看到一些朋友在BBS里问strtr和str_replace 的区别,有些人说是效率不同,但鄙人感觉如果只是效率不同的话,那么就没有必要让那个效率低的函数存在了,他们到底是哪里有区别呢?

鄙人亲自实验了一把来验证他们的不同:

strtr:他的效率确实是比str_replace快,而且好象还是4到5倍呢,他的作用与其说是字符替换,还不如说是字符串改写。

他有3个参数:

第一个参数是要被改写的字符串源。

第二个参数是定位改写从那里开始(这个参数只是确定改写开始的地方,而不是要被改写的字符,也就是说这里的字符串长度与最终被改写多少个字符无关)。

第三个参数是被改写成的内容(最终要被改掉多少个字符,与他有关)。

例子:echo strtr(”abcdeabcf”,”abc”,”55″); 最终显示55cde55cf,而不是55de55f,用str_replace的结果才是55de55f

str_replace:这个函数相信大家都已经无比了解了。str_replace(要被替换的字符(可以是array),要替换成的字符(可以是array),字符串源(可以是array)[,$替换次数(可选的变量或引用)])

建议等长度替换用strtr,不等长替换就用str_replace。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章