PHP 的 strtr 函数,性能要比 str_replace 函数高,可以代替 str_replace 来使用.
strtr 有两种形式:
string strtr ( string $str,string $from,string $to)
string strtr ( string $str,array $replace_pairs )
当使用第一种的时候,参数 $from,$to 的字符串长度一定要相同,否则多余的(不管是$from多还是$to多) 字符被忽略.比如 $str = 'a-=b' ;
当$from='-=',$to='CD',输出'aCDb',因为'-='与'CD'的长度相同,没有问题.
当$from='-=',$to='CDE',$to里的'E'被忽略.
当$from='-=',$to='C',输出'aC=b',$from里的'='被忽略.
而使用第二种形式,则没有这个问题,多余的字条不会忽略.
所以,如果故意用 strtr 函数代替 str_replace,并且使用了第一种形式,则一定要注意这个特征,这可能是一个陷阱.