IT技术博客大学习 共学习 共进步

PHP中字符串截取的效率

PHPor 的Blog 2014-11-22 23:50:00 浏览 1,762 次

缘起

   如果你用PHP实现算法的话,效率可能会是比较关心的问题;对于大量的循环,循环体内任何一个操作都可能严重影响算法的效率,而字符串的截取也是最常见的操作;对于截取字符串中的一个字节的操作有两种写法:substr($string, $start, 1);  和 $string{$start}; 当然 $string{$start} 也可以写作 $string[$start]; 这里比较一下二者的效率。

测试

   

结论

   使用$string{$start}  是 使用substr($string, $start, 1); 的效率的10倍, 其实,前者写起来还更方便呢。

脚本

<?php
$str = 'abcd';
$time_start = microtime(1);
$i = 0;
while($i++<100000) {
	$str{2};
}
echo 'use $str{2}:',"\t\t\t", microtime(1) - $time_start , " s\n";
$time_start = microtime(1);
$i = 0;
while($i++<100000) {
	substr($str, 2, 1);
}
echo 'use substr($str, 2, 1):',"\t", microtime(1) - $time_start, ' s';
exit;

建议继续学习

  1. Vim 中截取部分内容保存到其他文件 (阅读 7,083)
  2. PHP截取图片的某个区域 (阅读 3,704)
  3. PHP截取汉字出现乱码的解决方法 (阅读 3,627)
  4. Smarty截取中文乱码的解决办法 (阅读 3,325)