$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而没有标记位置已经被替换,所以再次发现B被C替换,依此类推得到值F
对于strtr:我用A替换A并记住它已在该位置替换,
我能正确理解这个吗?有人可以向我解释一下吗?
答案 0 :(得分:0)
是的,这是正确的。 str_replace()
按顺序执行替换,而strtr()
遍历字符串中的每个字符并仅替换它一次。