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',輸出'aCDb', $to裡的'E'被忽略.
當$from='-=' ,$to='C',輸出'aC=b', $from裡的'='被忽略.
而使用第二種形式, 則沒有這個問題, 多余的字條不會忽略.
所以,如果故意用 strtr 函數代替 str_replace, 並且使用了第一種形式, 則一定要注意這個特征, 這可能是一個陷阱.