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
#--Config--#
$login_password= '123456'; //这是密码
#----------#
error_reporting(E_ALL);
set_time_limit(0);
ini_set("max_execution_time","0");
ini_set("memory_limit","9999M");
set_magic_quotes_runtime(0);
if(!isset($_SERVER))$_SERVER = &$HTTP_SERVER_VARS;
if(!isset($_POST))$_PO ......
<?php
function genpage(&$sql,$page_size=10)
{
global $pages,$sums,$eachpage,$page; //总页数,总记录,每页数,当前页
$page = $_GET["page"];
if($page ==0)$page =1;
$eachpage = $page_s ......
在配置eventum的邮件服务的时候,始终不能发邮件。抓包后发现根本就没有连接到邮件服务器。再一查,原来是服务器么有
安装IMAP。下面是安装前找到的资料~~~
【转载】
安装sugarcrm,如果你不安装imap,那么你就无法使用的他的邮件功能,他的邮件功能是通过imap去读远程的邮件。
为了这个模块,我可是研究了一个下午, ......
SQL查询缓存
适合读者
本教程适合于那些对缓存SQL查询以减少数据库连接与执行的负载、提高脚本性能感兴趣的PHP程序员。
概述
许多站点使用数据库作为站点数据存储的容器。数据库包含了产器信息、目录结构、文章或者留言本,有些数据很可能是完全静态的,这些将会从一个缓存系统中得到的极大好处。
这样一个系统通过把S ......
PHP 向它运行的任何脚本提供了大量的预定义常量
。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有五个魔术常量根据它们使用的位置而改变。例如 __LINE__
的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:
表 13 ......