PHP中的stristr(),strstr(),strpos()速度比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中的stristr(),strstr(),strpos()速度比较相关的知识,希望对你有一定的参考价值。

测速代码: 

<?php 
function getmicrotime() 

list($usec, $sec) = explode(" ",microtime()); 
return ((float)$usec + (float)$sec); 


$time_start = getmicrotime(); 
$string="xxxddxx"; 
$find="d"; 
for ($i=0;$i<300000;$i++) 

if (stristr($string,$find))//if (strstr($string,$find)) or if (strpos($string,$find)) 
{} 

$time_end = getmicrotime(); 
echo $time_end-$time_start; 
?> 

[/php] 


stristr() 
第一次:2.74142408371 
第二次:2.52075314522 
第三次:2.52766990662 

strstr() 
第一次:1.43941402435 
第二次:1.44914388657 
第三次:1.51285290718 

strpos() 
第一次:1.42109084129 
第二次:1.40254187584 
第三次:1.38609910011 
---------------------------------- 
可以看出,stristr在进行判断某一字符(串)是否存在于另一字符(串)时候,速度明显慢于另外两个。。 
stristr对大小写不敏感的 
strstr对大小写敏感 
strpos不能判断是否有特殊字符(包括中文字符) 

呵呵,以后用的时候记得选择好啦。。

以上是关于PHP中的stristr(),strstr(),strpos()速度比较的主要内容,如果未能解决你的问题,请参考以下文章

PHP 带有数组的strstr()和stristr()

带数组的strstr()和stristr()

php 判断是不是包含

php中常用的字符串查找函数strstr()strpos()实例解释

php中常用的字符串查找函数strstr()strpos()实例解释

php中常用的字符串查找函数strstr()strpos()实例解释