PHP
の if/else 実行メカニズムは次のとおりです。PHP でのテストでは、if 分岐は 2.9 秒遅く、else 分岐は 2.2 秒速くなります。if 条件は 1==1 および 1! です。 =1の変形ですが、これはどのようなメカニズムで起こるのでしょうか?
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $stime=microtime(true); //获取程序开始执行的时间 $j=0; for($i=0;$i<5000000;$i++){ if(1!=1){ $j++; }else $j++; } $etime=microtime(true);//获取程序执行结束的时间 $total=$etime-$stime; //计算差值 $str_total = var_export($total, TRUE); if(substr_count($str_total,"E")){ $float_total = floatval(substr($str_total,5)); $total = $float_total/100000; } echo "$total".'秒';
/*もし 0.55976009368896 秒 0.55944108963013秒 0.56911516189575秒 0.5602080821991秒 0.56702303886414秒 それ以外 0.5650839805603秒 0.56633019447327秒 0.56741714477539 秒 0.56370115280151秒 0.56349802017212秒 */ <br><font color="#e78608">------解決策----------------------</font><br>if else の実行効率の違いは、 ifコードブロック そしてelseコードブロック内のコードの実行効率ですよね? <br>ここにある 2 つのコードは同じであり、実行時間はほぼ同じであるはずです。 <br><font color="#e78608">------解決策----------------------</font><br> は中かっこが原因であり、PHP コードはここで見ている数行については、PHP は最終的に C で実行されるため、すべてのシンボルと行は C で変換および解釈される必要があります。 <br><font color="#e78608">------解決策------------------</font><br>そのような質問には、変人が答えるべきです。 .<br><br>