strtr与str_replace函数性能,很简单的一个测试,只是简单的测下,供参考,代码如下:
<?php
require_once('Timer.php');
$target = 'qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./qwertyuiop[]asdfghjkl;\'zxcvbnm,./';
$count = isset($argv[1]) ? (int)$argv[1] : 1;
$needle = 'vb';
Timer::getInstance()->begin();
for($i = 0; $i < $count; $i++) {
strtr($target, $needle, '*');
}
echo "strtr exec {$count} times used time: " . Timer::getInstance()->end()->gone() . " sec.\n";
//----------------------------------------------------------------------------------------------
Timer::getInstance()->begin();
for($i = 0; $i < $count; $i++) {
str_replace($needle, '*', $target);
}
echo "str_replace exec {$count} times used time: " . Timer::getInstance()->end()->gone() . " sec.\n";
结果如下:
那个正则替换的那个就不测了,应该是赶不上这两个的。
本文通过一个简单的PHP测试脚本对比了strtr与str_replace两个字符串替换函数的性能表现,并提供了具体的运行时间结果。
195

被折叠的 条评论
为什么被折叠?



