strtr和str_replace同样都是字符替换函数,以前没怎么用过strtr,今天看到一些朋友在BBS里问strtr和str_replace的区别,有些人说是效率不同,但鄙人感觉如果只是效率不同的话,那么就没有必要让那个效率低的函数存在了,他们到底是哪里有区别呢?
鄙人亲自实验了一把来验证他们的不同:
strtr:他的效率确实是比str_replace快,而且好象还是4到5倍呢,他的作用与其说是字符替换,还不如说是字符串改写。
他有3个参数:
第一个参数是要被改写的字符串源。
第二个参数是定位改写从那里开始(这个参数只是确定改写开始的地方,而不是要被改写的字符,也就是说这里的字符串长度与最终被改写多少个字符无关)。
第三个参数是被改写成的内容(最终要被改掉多少个字符,与他有关)。
例子:echo strtr("abcdeabcf","abc","55"); 最终显示55cde55cf
str_replace:这个函数相信大家都已经无比了解了。str_replace(要被替换的字符(可以是array),要替换成的字符(可以是array),字符串源(可以是array)[,$替换次数(可选的变量或引用)])