每天进步一点点:PHP 问号表达式效率问题

在写PHP代码时,遇到简单的判断之类的,总是喜欢用问号表达式而不是IF...ELSE...分支判断。


(图源 :pixabay)

今天突发奇想,问号表达式和IF...ELSE...到底谁的效率高呢?然后百度了一下,咦,竟然没人讨论这个问题,看来就我自己闲的难受。

既然闲的难受就写段简单的代码测试一下

<?
$loops = 100000;

$start=microtime(true);
for($i=0; $i<$loops; $i++)
{
    ($i>$i-1)?$j=0:$j=1;
    ($i<$i+1)?$k=0:$k=1;
    ($i>$i-1)?$j=0:$j=1;
    ($i<$i+1)?$k=0:$k=1;
}
echo round(microtime(true) - $start, 6), "\n";

$start = microtime(true);
for($i=0; $i<$loops; $i++)
{
    if($i>$i-1) $j=0; else $j=1;
    if($i<$i+1) $k=0; else $k=1;
    if($i>$i-1) $j=0; else $j=1;
    if($i<$i+1) $k=0; else $k=1;
}
echo round(microtime(true) - $start, 6), "\n";
?>

刷了几遍网页后,输出的结果大致都是类似如下情况

也就是说问号表达式要比IF...ELSE..慢上一倍左右,不过,讲真,运行10万轮,每轮还运行了四次,不过耗时接近0.04秒,也就是说其实这点效率差异根本是无关紧要的。

所以,用问号表达式还是IF...ELSE...并没有多大区别,浪费不了多少时间,倒是我闲的做这个测试,浪费了自己不少时间,够跑无数次问号表达式啦!


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
6 Comments