PHP の strtr 関数は str_replace 関数よりも高性能であり、str_replace の代わりに使用できます。 strtr には 2 つの形式があります:
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の'='は無視されます。
2 番目の形式ではそのような問題はなく、余分な音符は無視されません。
したがって、str_replace の代わりに strtr 関数を意図的に使用し、最初の形式を使用する場合は、この機能に注意する必要があり、これは罠である可能性があります。