PHP 经常用的语句if和三元运算符 echo字符串和数字 $i++和++$i 到底哪个更快 !!!

有时候看到不同的程序员写不同的代码,但是逻辑和最终的效果都一样,但是速度上不知道哪个更快!

本次测评 电脑笔记本I5-7200U芯片!结果仅供参考!

二话不说先上代码:

 

 1 <?php 
 2 
 3 // echo $StartTime."<br>";
 4 // echo microtime();
 5 $ci =1000*1000;//1000w次
 6 
 7 
 8 
 9 echo "测试打印字符串1";
10                                         $StartTime = microtime(1);
11 
12 for ($i=0; $i < $ci; $i++) { 
13     echo "1";
14 }
15 echo "<br>总计耗时:".(microtime(1)-$StartTime)."";
16 
17 
18 echo "<br>测试打印数字1";
19                                         $StartTime = microtime(1);
20 
21 for ($i=0; $i < $ci; $i++) { 
22     echo 1;
23 }
24 echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒<br>";
25 
26 
27 
28 echo "<br>测试if 赋值";
29 $StartTime = microtime(1);
30 for ($i=0; $i < $ci; $i++) { 
31     if($i>0){$z=1;}else{$z=0;}
32 }
33 echo "<br>总计耗时:".(microtime(1)-$StartTime)."";
34 
35 
36 echo "<br>测试三元 赋值";
37 $StartTime = microtime(1);
38 for ($i=0; $i < $ci; $i++) { 
39     $z = ($i>0)?1:0;
40 }
41 echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒<br>";
42 
43 
44 
45 
46 echo '<br>测试$z++';
47                                         $StartTime = microtime(1);
48 $z = 0;
49 for ($i=0; $i < $ci; $i++) { 
50     $z++;
51 }
52 echo "<br>总计耗时:".(microtime(1)-$StartTime)."";
53 
54 
55 
56 echo '<br>测试++$z';
57 
58                                         $StartTime = microtime(1);
59 $z=0;
60 for ($i=0; $i < $ci; $i++) { 
61     ++$z;
62 }
63 echo "<br>总计耗时:".(microtime(1)-$StartTime)."";
64 
65  ?>

 

这是每个运行1000W次,结果运行5次截图如下:

 

第一次:

 

 第二次

 

 第三次

 

 

 第四次

 

 

 

 

 

 

第五次

 

 最后统计

打印字符串速度稍微快那么一点,

if和三元运算赋值,前面if速度要快点后面三元要快点,

但是先自增要快点,而且几次都差不多快一半的速度

 

 

最后上一张1亿次运行的截图吧

结果失望了等了5分钟左右还没渲染出来,其实运算出来了但是网页没渲染出来!

所以我去掉echo打印,直接1次循环 if和三元  自增

代码如下:

<?php 
//小和QQ496631085
$s=time();
// echo $StartTime."<br>";
// echo microtime();
$ci =1000*1000*10;//1000w次



// echo "测试打印字符串1";
//                                         $StartTime = microtime(1);

// for ($i=0; $i < $ci; $i++) { 
//     echo "1";
// }
// echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒";


// echo "<br>测试打印数字1";
//                                         $StartTime = microtime(1);

// for ($i=0; $i < $ci; $i++) { 
//     echo 1;
// }
// echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒<br>";



echo "<br>测试if 赋值";
$StartTime = microtime(1);
for ($i=0; $i < $ci; $i++) { 
    if($i>0){$z=1;}else{$z=0;}
}
echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒";


echo "<br>测试三元 赋值";
$StartTime = microtime(1);
for ($i=0; $i < $ci; $i++) { 
    $z = ($i>0)?1:0;
}
echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒<br>";




echo '<br>测试$z++';
                                        $StartTime = microtime(1);
$z = 0;
for ($i=0; $i < $ci; $i++) { 
    $z++;
}
echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒";



echo '<br>测试++$z';

                                        $StartTime = microtime(1);
$z=0;
for ($i=0; $i < $ci; $i++) { 
    ++$z;
}
echo "<br>总计耗时:".(microtime(1)-$StartTime)."秒";


echo "<h1><br>最终总用时".(time()-$s)."秒</h1>";
 ?>

 

 

 

 

 

 

 

 

 发现  三元又没有if快了,但是++$z还是要快

 

结果发现都差不多,看自己喜好吧!

如果有什么php评测可以在下方留言!

 

posted @ 2020-07-13 22:43  xiaohe520  阅读(479)  评论(0编辑  收藏  举报