PHP中strtr与str_replace性能差异测试示例如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计416个文字,预计阅读时间需要2分钟。
本文简单讲述了PHP中strtr与str_replace函数性能的简单测试。分享给广大用户及参考,具体如下:
+ strtr与str_replace函数性能测试,一个非常简单的测试,仅供参考,代码如下:
php
// 使用strtr函数替换$replaced_strtr=strtr($text, 'aeiou', '12345');
// 使用str_replace函数替换$replaced_str_replace=str_replace('aeiou', '12345', $text);
echo strtr: . $replaced_strtr . \n;echo str_replace: . $replaced_str_replace . \n;?>
以上代码中,strtr和str_replace函数都可以将文本中的某些字符替换为其他字符。测试结果表明,两者在替换字符数量较少时,性能差异不大。但在实际应用中,如果需要替换大量字符,建议使用strtr函数,因为其效率更高。
本文实例讲述了PHP中strtr与str_replace函数运行性能简单测试。分享给大家供大家参考,具体如下:
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相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文共计416个文字,预计阅读时间需要2分钟。
本文简单讲述了PHP中strtr与str_replace函数性能的简单测试。分享给广大用户及参考,具体如下:
+ strtr与str_replace函数性能测试,一个非常简单的测试,仅供参考,代码如下:
php
// 使用strtr函数替换$replaced_strtr=strtr($text, 'aeiou', '12345');
// 使用str_replace函数替换$replaced_str_replace=str_replace('aeiou', '12345', $text);
echo strtr: . $replaced_strtr . \n;echo str_replace: . $replaced_str_replace . \n;?>
以上代码中,strtr和str_replace函数都可以将文本中的某些字符替换为其他字符。测试结果表明,两者在替换字符数量较少时,性能差异不大。但在实际应用中,如果需要替换大量字符,建议使用strtr函数,因为其效率更高。
本文实例讲述了PHP中strtr与str_replace函数运行性能简单测试。分享给大家供大家参考,具体如下:
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相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

