2

次の2つのifステートメントの構文の間にパフォーマンスの違いがあるかどうか疑問に思いました(他のループの場合も同様です-while、for、foreachなど):

 if(..) {...}
 else {...}

if(..) : ...
else : ... 
endif;

どちらか一方を使用することの利点はありますか?

4

4 に答える 4

3

なし。

構文スタイルは、コードを読みやすくするためのものです。さまざまな組織がさまざまなスタイルを好む場合がありますが、パフォーマンスへの影響はありません。

于 2012-09-21T17:57:12.233 に答える
3

if (condition): endif;通常、ビュー(テンプレート)では代替構文()を使用します。これは、HTML間で読みやすいためです。例えば:

<?php foreach ($items as $item): ?>
<article class="item">
  <h1><?php echo $item->title; ?></h1>
</article>
<?php endforeach; ?>

読みやすい:

<?php foreach ($items as $item) { ?>
<article class="item">
  <h1><?php echo $item->title; ?></h1>
</article>
<?php } ?>

if特に、などの制御構造を追加するforと、HTMLで中括弧を使用すると、どの閉じ中括弧がどの開始中括弧に属するかを区別するのが難しくなりますが、知っている代替構文を使用するendifと、冒頭if:陳述。

お役に立てば幸いです。

于 2012-09-21T18:00:17.797 に答える
1

個人的には、if():PHPとHTMLを混在させている場合にのみ構文を使用します。

<div class="stuff">
    <?php if($a === $b): ?>
        <span>Hello</span>
    <?php else: ?>
        <input type="checkbox" />
    <?php endif; ?>
</div>

を使用するよりも見栄えが良いと思いますif(){が、「通常の」phpコード(HTMLと混合されていない)では、if(){構文を使用します。

<?php
if($a === $b){
    runThisCode();
}
else{
    otherCode();
}
?>
于 2012-09-21T18:00:11.423 に答える
0

いいえ、構文のみのパフォーマンスの違いはありません。私は個人的に最初の例をコアロジックに使用し、2番目の例をビュー内またはphpがhtmlと対話または吐き出しているときに使用します。を追加せずに最終出力を制御する方が簡単だと思います\n \t

したがって、読みやすさ以外の利点はありません。

于 2012-09-21T18:02:31.777 に答える