$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
$trans = array('A' => 'B','B'=>'C','C'=>'D','D'=>'E','E'=>'F');
echo str_replace($search, $replace, $subject);
echo "<br/>";
echo strtr($subject,$trans);
Output: F
B
当使用 str_replace 我得到 F,使用 strtr 我得到 B
据我所知,对于str_replace:它从左到右替换,所以A被替换为B而没有标记位置已经被替换,所以再次找到被C替换的B,依此类推以获得值F。
对于 strtr:我用 B 替换 A 并记住它已在该位置替换,
我得到这个正确吗?有人可以向我解释吗?