我想知道 if 语句的以下 2 种语法之间是否存在任何性能差异(对于其他循环类似 - while、for、foreach 等):
if(..) {...}
else {...}
和
if(..) : ...
else : ...
endif;
使用其中一个有什么优势吗?
您通常在视图(模板)中使用替代语法 ( 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:
。
希望有帮助。
没有任何。
语法样式仅用于代码的可读性。不同的组织可能更喜欢不同的风格,但对性能没有影响。
就个人而言,我只if():
在混合 PHP 和 HTML 时使用语法:
<div class="stuff">
<?php if($a === $b): ?>
<span>Hello</span>
<?php else: ?>
<input type="checkbox" />
<?php endif; ?>
</div>
我认为这看起来比 using 更好if(){
,但是在“普通” php 代码(不与 HTML 混合)中,我使用if(){
语法。
<?php
if($a === $b){
runThisCode();
}
else{
otherCode();
}
?>
不,只有语法没有性能差异。我个人将第一个用于核心逻辑,并在视图中或当 php 与 html 交互或输出 html 时使用第二个示例。因为我发现在不添加\n
\t
.
所以除了可读性之外没有任何优势。