很多地方看到一篇文章,写着strtr函数的效率是str_replace函数的四倍,这是真的吗?
下面来写一段代码做验证
$num = 100000;
echo microtime(true);
for($i=0;$i<$num;$i++){
$x=strtr("just a test",array("test"=>"TEST"));
};
echo " ".$x." ".microtime(true);
echo "<br>以上为strtr10W次,以下为str_replace10W次<br>";
echo microtime(true);
for($i=0;$i<$num;$i++){
$x=str_replace("test","TEST","just a test");
}
echo " ".$x." ".microtime(true);然后运行的结果是
1469465118.7737 just a TEST 1469465118.7903
以上为strtr10W次,以下为str_replace10W次
1469465118.7903 just a TEST 1469465118.8048
发现了没?strtr并没有快四倍,感觉还比str_replace更慢了一些!

