这个问题是不言而喻的。
在PHP中,何时使用if/endif表示法而不是标准的if(something){}表示法?
示例:
<?php if($a == 5): ?>
A is equal to 5
<?php endif; ?>对比:
<?php if($a == 5){ ?>
A is equal to 5
<?php } ?>发布于 2011-05-17 05:13:53
其他人已经给出了“模板”的答案,但没有真正解释为什么。大括号很适合用来表示块,但它们依赖于缩进才能清楚地阅读。所以这是相当清楚的:
<?php
if (1 == 2)
{
while (1 < 2)
{
doSomething();
}
}很明显哪一个花括号和哪一个匹配。
然而,如果你要进入一个HTML块,你可能会停止干净利落地缩进。例如:
<?php
if (1 != 2) { ?>
<div>This always happens! <?php while (true) { ?>
<p>This is going to cause an infinite loop!</p>
<?php }
}这很难理解。如果使用endif样式,它看起来会更整洁一些:
<?php
if (1 != 2): ?>
<div>This always happens! <?php while (true): ?>
<p>This is going to cause an infinite loop!</p>
<?php endwhile;
endif;代码的内容更清楚地显示了正在执行的操作。对于这种有限的情况,它更容易理解。
发布于 2011-05-17 05:06:50
简短的回答:
总是使用 if($something) { },而几乎从不使用 if/endif。它是PHP 4.0.0以来的标准,虽然旧的语法不会消失,但这是每个人都期待的语法。
如果你真的在寻找一种可以使用if/endif的情况,那么就是在使用php作为模板语言的时候。
有些人喜欢这样的东西:
<?php if ($foo): ?>
Hi There
<?php else: ?>
cya!
<?php endif; ?>比
<?php if ($foo) { ?>
Hi There
<?php } else { ?>
cya!
<?php } ?>这是因为每一行都在“说话”,当php标签之间有很多html时,这会很有帮助。
发布于 2011-05-17 05:07:35
这两种方法都是可以接受的。有些人认为替代语法(endif)在模板中更易读。带有现代语法着色/突出显示错误的IMHO,不再适用。只需选择一种风格并坚持下去。
https://stackoverflow.com/questions/6023418
复制相似问题