海西数据

韩国服务器,美国服务器,香港服务器,台湾服务器,日本服务器,美国空间,马来西亚,新加坡服务器,海外服务器租用

« 禁止服务器对外发包的方法centos6下awstats安装配置步骤详解 »

php循环执行多次效率执行速度例子

在设计的 php 生成静态页面中,静态页面越来越多,在不断的执行生成 html 的过程中,效率越来越慢,所以优化 php 语句就变得刻不容缓了,先检查了自己之前写的 php 生成 html 的程序,原来就是直接的循环,没有附加任何的优化,先看一下夏日博客之前的 PHP 循环语句:

12345678910111213141516171819 $stat = time();  
 
   
 
for($i=1;$i<=10000;$i++){  
 
            $strTemp = $strTemp."<option value='".$i."'";  
 
   
 
            $strTemp=$strTemp.">第".$i."页</option>";  
 
        }  
 
$end = time();  
 
   
 
        echo $end-$stat;

这个循环只是把 php 生成静态语句给简化来了,主要了解一下循环生成的效率时间,具体的生成 html 这里就不具体讲解了,可以参看以前夏日博客的文章,这里是使用 php 执行循环 10000 次,如果变成 10000 00 之后呢,循环的速度会越来越慢,echo 出来的秒数也会越来越大,最后的解决方法就是将这段 PHP 循环语句进行简单的改造,如下:

123456789101112131415 $stat = time();  
 
$strTemp = '';  
 
for($i=1;$i<=10000;$i++){  
 
            $strTemp .= "<option value='".$i."'";  
 
            $strTemp .= ">第".$i."页</option>";  
 
        }  
 
$end = time();  
 
echo $end-$stat;

再次运行,不需要一秒的时间,时间效率非常的快,通过两(www.111cn.net)段代码的对比可以看出,第一段是在每执行一次循环再重新赋值,要赋值 10000 次,速度肯定会慢,而第二段代码则是通过 点 的符号将值直接连接成一个字符串,只进行一次赋值就可以了,所以效率很高,我们可以把后面的代码放在任何执行多次的循环语句中,比如 php 生成多条 html 的时候。

 

 实现代码如下:

123456789101112131415161718 <?php
$Stime=0;
$Etime=0;
$Ttime=0;
$Stime=microtime(true);//获取程序开始执行的时间
//echo $Stime."<br/>";
for ($i=1;$i<=10000000;$i++){} //为了实现有一定的时间差,所以用了一个FOR来消耗一些资源.
$Etime=microtime(true);//获取程序执行结束的时间
//echo $Etime."<br/>";
$Ttime=$Etime-$Stime;//计算差值
//echo $Ttime."<br/>";
$str_total=var_export($Ttime,TRUE);
if(<A href="/tags.php/substr/" target=_blank>substr</A>_count($str_total,"E")){ //为了避免1.28746032715E-005这种结果的出现,做了一下处理.
$float_total=floatval(substr($str_total,5));
$Ttime=$float_total/100000;
}
echo $Ttime.'秒';
?>


   百恒开发工程师在对相关函数进行介绍:
       microtime() 函数返回当前 Unix 时间戳和微秒数。
       var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
       substr_count() 函数计算子串在字符串中出现的次数。

from:http://www.111cn.net/phper/php/93785.htm

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 海西数据-万纵科技 xmwzidc.cn. ALL Rights Reserved