PHP中strtr和str_replace比较

  作者:会飞的

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])string strtr ( string str, string from, string to)string strtr ( string str,

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])


string strtr ( string str, string from, string to)


string strtr ( string str, array replace_pairs)


注意,他们的写法不同。


首先是strtr函数:


实例1:当


以下为引用的内容:


<?php


//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")


echo strtr("paocai!","pao","bai123");


?>



实例2:当被替换的值长度小于被替换目标的时候


以下为引用的内容:


<?php


//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la") 


echo strtr("paocai!","pao","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慢很多。