PHP中strtr和str_replace比较
[ 2012-11-11 17:17:49 | 作者: admin ]
首先这2个函数都是具有替换字符功能的。但是strtr比str_replace性能上要块4倍。具体情况请看如下分解:
首先是strtr函数:
实例1:当被替换的值长度大于被替换目标的时候
实例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:
总结:strtr他是跟字符长度有关系的,但是str_replace就没有关系,估计在运行步骤的时候会读取字符串长度所以才会比strtr慢很多。
首先是strtr函数:
实例1:当被替换的值长度大于被替换目标的时候
<?php
//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")
echo strtr("paocai!","pao","bai123");
?>
//这个时候输出的为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!
?>
echo str_replace("you","paocai","I love you!"); //会输出I love paocai!
?>
总结:strtr他是跟字符长度有关系的,但是str_replace就没有关系,估计在运行步骤的时候会读取字符串长度所以才会比strtr慢很多。
[最后修改由 admin, 于 2012-11-11 17:21:54]
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1898
这篇日志没有评论。
此日志不可发表评论。