我很難理解何時strtr
優於str_replace
,反之亦然。似乎可以使用任一函數來獲得完全相同的結果,儘管子字符串被替換的順序是相反的。例如:何時使用strtr函數的效率VS 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
除了語法,有使用一個比其他任何好處?任何情況下,不足以達到預期結果?
從可讀性的角度來看,'strtr'可能很容易被誤解爲'strstr',這是非常不同的。我開始認爲我有誦讀困難。用str_replace不會犯這個錯誤。 – Programster