-PHP Tips- 第7回 ブーリアン演算

if文などの条件節でtrue/falseと比較する?
【Tips】true/falseと比較しない方が高速!
【Description】if($flag == true)とif($flag)は等価です。同様にif($res = ex_func($param))という書き方も可能です。ただしDBへの接続などでは、is_resource()関数などで適切に判断する必要があります。

<?php
define("WORK_TIME", 20000);

function getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}

$hoge = "hoge";

//trueと比較する場合
$start_time = getmicrotime();
for($i = 0; $i < WORK_TIME; $i++){
    if($hoge == true){
        $dummy = $hoge;
    }
}
$true_time = sprintf("%.4f", getmicrotime() - $start_time);

//countしない場合
$start_time = getmicrotime();
for($i = 0; $i < WORK_TIME; $i++){
    if($hoge){
        $dummy = $hoge;
    }
}
$no_true_time = sprintf("%.4f", getmicrotime() - $start_time);
?>
<html>
<head><title>trueと比較する・しないの比較</title></head>
<body>
trueと比較した場合の結果:<?php echo($true_time);?>秒<br>
trueと比較しない場合の結果:<?php echo($no_true_time);?>秒<br>
</body>
</html>