我很难理解什么时候会使用strtr
比str_replace
更好,反之亦然。似乎可以使用任一函数来实现完全相同的结果,尽管替换子字符串的顺序是相反的。例如:
echo strtr('test string', 'st', 'XY')."\n";
echo strtr('test string', array( 's' => 'X', 't' => 'Y', 'st' => 'Z' ))."\n";
echo str_replace(array('s', 't', 'st'), array('X', 'Y', 'Z'), 'test string')."\n";
echo str_replace(array('st', 't', 's'), array('Z', 'Y', 'X'), 'test string');
这将输出:
YeXY XYring
YeZ Zring
YeXY XYring
YeZ Zring
除了语法方面,使用其中一种语言是否有其他好处?有没有某些情况下只能使用其中一种语言才能达到预期的结果?