PHP中的stristr(),strstr(),strpos()速度比较
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 中巧用数组降低程序的时间复杂度
王 丹丹, 高级软件工程师, IBM
2009 年 11 月 26 日
本文主要是介绍在 PHP 的编程中,如何巧用数组来降低因多层循环而引起的时间复杂度的问题。特别是当程序需要多次与数据库交互时,用此方法来优化你的代码,将会带给意想不到的效果。
通常开发人员在写程序的时候,往往是把已经设 ......
<?php
$link=mysql_connect("localhost","root","root");
$db=mysql_select_db("bustest",$link);
$sql1="select name from info group by name order by id asc";
print("<table border='1'>");
$res1=mysql_query($sql1);
while($row1=mysql_fetch_array($res1)){
$name=$row1["name"];
$sql2="select i ......
腾讯的QQ空间根据会员资料计算生日并提醒好友发送生日祝福,一些网站也有类似的功能,比如提前几天向会员发送祝福邮件。
大致过程如下:设置一个自动执行程序,比如Linux下可以用CronTab 实现。此程序每天执行一次读取会员资料中的birth_day,
判断是否符合设置的发送要求。假如设置提前三 ......
毋庸置疑,PHP是一种非常棒的动态网页制作语言,他和C的极高相似性,使得它的语法学起来
很容易,他有很多类似C语言库函数的东西,还有像日期,字符串和时间函数等,这使得它很容
易开发相当复杂的应用程序。
当PHP应用到关键web站点上,如何保证质量将会变得很关键。然而,PHP并不是一 ......