Site Loader

LOCATION

VanY_Y

在工作之余,突然想测试一下各个相似的语句的运行时间和效率,可是因为个人能力有限,可能分析的不是很完善,欢迎大神们指出纠正。

首先先附上代码:

<style type="text/css">
    table{ background-color:#e0e0e0; line-height:25px;}
    th{ background-color:#fff; color:red;}
    td{ background-color:#fff; text-align:center; color:#0000ee;}
</style>
<?php
function gettime($time) {
	$str_total = var_export($time, TRUE);  
    if(substr_count($str_total,"E")){  
        $float_total = floatval(substr($str_total,5));  
        $total = $float_total/100000;  
   	 	return $total.'秒';  
    }  
}
function i($a){
	$start = microtime(true);
	$i = 0;
	if ($a == 1) {
		while ($i <= 6000000) {
			$i++;
		}
	}else{
		while ($i <= 600000) {
			++$i;
		}
	}
	$end = microtime(true);
	$time = $end - $start;
	return round($time,2);
}
function xh($a){
	$start = microtime(true);
	if ($a = 1) {
		for ($i=0; $i < 600000; $i++) { 
			
		}
	}else{
		$i = 0;
		while ($i < 600000) {
			$i++;
		}
	}
	$end = microtime(true);
	$time = $end - $start;
	return round($time,2);
}
echo '当运行6000000次$i++的运行时间:'.i(1).'<br>';
echo '当运行6000000次++$i的运行时间:'.i(2).'<br>';	
echo '当循环6000000次for的运行时间:'.xh(1).'<br>';
echo '当循环6000000次while的运行时间:'.xh(2);	
?>
<table width="600" cellpadding="3" cellspacing="1">
    <thead><th>$i++</th> <th>++$i</th> <th>for</th> <th>while</th></thead>
    <tbody>
    <?php 
    for ($i=0; $i < 10; $i++) { 
    ?>
       	<tr> 
	     	<td><?php echo i(1) ?></td> 
	     	<td><?php echo i(2) ?></td> 
	     	<td><?php echo xh(1) ?></td> 
	     	<td><?php echo xh(2) ?></td> 
       	</tr>
    <?php 
 	}
    ?>
    </tbody>   
</table>

在相同情况下,进行相同的操作,得到的结果如下:

单单从结果来看,在运行相同程序时,$i++所用时间会比++$i长,而for和while则没有太大的差异

Post Author: Vany

我是一个喜欢追求技术的小伙,在大学开始之前,自己还是一个电脑白痴,对于电脑,只会开关机,但是由于自己的兴趣,我在选专业的时候,全部选择了计算机专业,其实我也不知道为什么这样不顾家人的反对去做这个决定。上了大学后,我在大一的时候开始接触计算机硬件,设计的领域包括了电脑维修,系统封装等等。在大二的时候,我才开始接触PHP,一开始的时候还不是很懂,也没什么资源,所以学习只能靠老师讲一些特别基础的东西。在大二的一段时间,自己对服务器特别感兴趣,但是资源问题,只能自己慢慢研究,后来通过各种百度,通过翻墙获得了自己的第一个域名,.top域名。后来还弄了一个免费的虚拟空间,在结合域名,我自己弄了一个静态的个人网站。大三的时候,我在网上找到兄弟连这个网站,网站上面有一些免费的视频,特别适合新人看。从那以后,我一直在看教学视频去提高自己的能力,在后来,经过面试八连碰壁,才发现自己之前学的是那么肤浅,而且工作也没有自己想象的那么简单,但是高兴的是,目前工作的那家公司录用了我,在这个公司我真的学会了很多东西,包括一些cms网站的建设啊,微商城开发啊,还有最让自己兴奋的就是微信接口的开发等等这些。即使学了不少东西,但有些时候还是会觉得自己还是个小白,所以我必须不断的提升自己

发表评论

电子邮件地址不会被公开。