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

  作者:会飞的

测速代码:<?phpfunction 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 (s

测速代码: 


<?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对大小写敏感 

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


有用  |  无用

猜你喜欢