>
首先这2个函数都是具有替换字符功能的。但是strtr比str_replace性能上要块4倍。具体情况请看如下分解:
首先是strtr函数:
实例1:当
以下为引用的内容: <?php //这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123") echo strtr("paocai!","pao","bai123"); ?> |
实例2:当被替换的值长度小于被替换目标的时候
以下为引用的内容: <?php //这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la") |
实例3:支持数组替换
以下为引用的内容: <?php $Arr=array('ao'=>'oa','ai'=>'ia'); echo strtr("paocai!",$Arr); //这个时候输出的为poacia ?> |
其次是str_replace:
以下为引用的内容: <?php echo str_replace("you","paocai","I love you!"); //会输出I love paocai! ?> |
总结:strtr他是跟字符长度有关系的,但是str_replace就没有关系,估计在运行步骤的时候会读取字符串长度所以才会比strtr慢很多。