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

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

$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 循环语句进行简单的改造,如下:

$stat = time();  

$strTemp = '';  

for($i=1;$i<=10000;$i++){  

            $strTemp .= "<option value='".$i."'";  

            $strTemp .= ">第".$i."页</option>";  

        }  

$end = time();  

echo $end-$stat;

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

 

 实现代码如下:

<?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(substr_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() 函数计算子串在字符串中出现的次数。
   备注:南昌网站制作公司工程师提醒广大开发人员:$Stime=microtime(true);要放在页面的首要位置,$Etime=microtime(true);要放页面的未位置,否则计算不出时间.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索开发
, 函数
, 优化
, 效率
, 时间
工程师
bat循环执行exe多次、多次失败后成功的例子、公平与效率的例子、提高效率的例子、有效率没效果的例子,以便于您获取更多的相关知识。

时间: 2024-08-30 23:38:42

php循环执行多次效率执行速度例子的相关文章

foreach循环遍历数组搞不懂执行顺序思路

问题描述 foreach循环遍历数组搞不懂执行顺序思路 搞不懂if判断那一块 最好有大神能给详细说明一下执行顺序 解决方案 这也没那么复杂http://blog.csdn.net/china_skag/article/details/6444727

java-for循环中有多个if判断,for循环16次,优先执行一个if判断

问题描述 for循环中有多个if判断,for循环16次,优先执行一个if判断 Java for循环中有3个if判断依次执行.for循环16次, 我想让第一个if判断先执行16次(优先执行16次), 如果在16次中有符合第一个if判断的就执行停止循环. 如果16次之后,第一个if判断没有符合的结果,在依次执行第2和第3个if判断. 优先执行第一个if判断如何做,请大神赐教. 解决方案 #!/bin/bash for((i=1;i do ? ? if((i%3==0)) ? ? ? ? then ?

sql语句执行与直接执行存储过程的效率比较

1.关于拼sql语句执行与直接执行存储过程的效率比较 1)在程序代码中拼sql语句,类似代码如下:                  代码如下 复制代码 System.Data.OleDb.OleDbCommand Command=conn.CreateCommand();                 Command.CommandTimeout=0;                 Command.Transaction=trans;                 Command.Com

基于C++执行内存memcpy效率测试的分析_C 语言

在进行memcpy操作时,虽然是内存操作,但是仍然是耗一点点CPU的,今天测试了一下单线程中执行memcpy的效率,这个结果对于配置TCP epoll中的work thread 数量有指导意义.如下基于8K的内存快执行memcpy, 1个线程大约1S能够拷贝500M,如果服务器带宽或网卡到上限是1G,那么网络io的work thread 开2个即可,考虑到消息的解析损耗,3个线程足以抗住硬件的最高负载. 在我到测试机器上到测试结果是: Intel(R) Xeon(R) CPU          

赢在执行 网站优化成功执行四要素解析

不仅是网站优化,现在很多企业也都在强调核心竞争力与执行力的问题,因为企业之间竞争的核心归根结底是人的竞争,而竞争的实质却是执行力的较量.笔者前些天撰文<网站优化成功的秘笈就是重复的事情坚持做>,其实也是强调执行力的问题.这篇文章发布在A5后,有站长在文后留言问网站建设制作或者网站优化,坚持多久才会成功?笔者的理解是,坚持到成功到来的那一天就会成功.关键的问题是,网站建设和网站优化它是一个动态过程,随着竞争环境的不断变化,不可能存在一劳永逸的事情,坚持也是一个只有开始没有结束的事情.想要永葆强有

RDS SQL Server - 专题分享 - 巧用执行计划缓存之执行计划编译

背景引入 执行计划缓存是SQL Server内存管理中非常重要的特性,这篇文章是巧用执行计划缓存系列文章之五,探讨如何从执行计划缓存中获取查询语句执行计划编译的性能消耗,比如: 编译时间消耗 编译CPU消耗 编译内存消耗 缓存大小消耗 等等一系列非常有价值的统计信息. 什么是执行计划编译 SQL查询语句在提交到SQL Server主机服务之后,数据查询访问动作发生之前,SQL Server的编译器需要将查询语句进行编译,然后查询优化器生成最优执行计划.而这个编译和最优执行计划选择的过程,

html-如何提高php循环对比输出的性能和速度

问题描述 如何提高php循环对比输出的性能和速度 我php后台有一堆数组,要输出到前台,当他们id相同时要输出一张图片,如果数据大批量的时候,每次都要循环一次,那样会很影响性能效率,请问有什么高效的方法 解决方案 用hashmap,一次循环,然后比较key 解决方案二: 这个是不会每次都要去循环的,一般都是整体循环一次,生成一个数组,用id作为key,图片作为值, 直接拿id去数组里面取.

Javascript基础与面向对象基础~Javascript中的语句如何被执行,如何改变执行顺序

本讲主要是JS语言中的代码如何被解释执行的,这个问题其实和其它语言是一样的,程序执行顺序为"从上到下",当然如果代码中有分支,它的执行顺序可能有所改变,而这种支在程序设计中叫做"分支结构(条件结构)",再或者某个操作需要反复执行10次,这在程序设计中叫做"循环结构". 正常的程序结构 //普通的结构 var info = "hello world" console.log(info); 带有分支的程序结构 //IF条件结构 v

jquery单击事件执行后台方法提前执行的问题

问题描述 jquery单击事件执行后台方法提前执行的问题 我在主页末尾添加javascript代码如下: $(function(){ $(".fouct1:first").click(function(){ var a=<%=ServerIpAdd()%>; //执行一个后台方法 }); }); 可是,每次刷新页面就执行了ServerIpAdd()方法,而不是单击事件后执行ServerIpAdd()方法(记录单击特定链接的次数),请高手提供一个好的方法,实现单击某个链接以后