了解str_replace和strtr在php中的工作原理

时间:2012-08-20 04:46:47

标签: php string

 $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并记住它已在该位置替换,

我能正确理解这个吗?有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:0)

是的,这是正确的。 str_replace()按顺序执行替换,而strtr()遍历字符串中的每个字符并仅替换它一次。