首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时使用if/endif和If{}?

何时使用if/endif和If{}?
EN

Stack Overflow用户
提问于 2011-05-17 05:04:49
回答 6查看 16.5K关注 0票数 11

这个问题是不言而喻的。

在PHP中,何时使用if/endif表示法而不是标准的if(something){}表示法?

示例:

代码语言:javascript
复制
<?php if($a == 5): ?>
A is equal to 5
<?php endif; ?>

对比:

代码语言:javascript
复制
<?php if($a == 5){ ?>
A is equal to 5
<?php } ?>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-17 05:13:53

其他人已经给出了“模板”的答案,但没有真正解释为什么。大括号很适合用来表示块,但它们依赖于缩进才能清楚地阅读。所以这是相当清楚的:

代码语言:javascript
复制
<?php
if (1 == 2)
{
    while (1 < 2)
    {
        doSomething();
    }
}

很明显哪一个花括号和哪一个匹配。

然而,如果你要进入一个HTML块,你可能会停止干净利落地缩进。例如:

代码语言:javascript
复制
<?php
if (1 != 2) { ?>
<div>This always happens! <?php while (true) { ?>
  <p>This is going to cause an infinite loop!</p>
<?php }
}

这很难理解。如果使用endif样式,它看起来会更整洁一些:

代码语言:javascript
复制
<?php
if (1 != 2): ?>
<div>This always happens! <?php while (true): ?>
  <p>This is going to cause an infinite loop!</p>
<?php endwhile;
endif;

代码的内容更清楚地显示了正在执行的操作。对于这种有限的情况,它更容易理解。

票数 17
EN

Stack Overflow用户

发布于 2011-05-17 05:06:50

简短的回答:

总是使用 if($something) { },而几乎从不使用 if/endif。它是PHP 4.0.0以来的标准,虽然旧的语法不会消失,但这是每个人都期待的语法。

如果你真的在寻找一种可以使用if/endif的情况,那么就是在使用php作为模板语言的时候。

有些人喜欢这样的东西:

代码语言:javascript
复制
<?php if ($foo): ?>
Hi There
<?php else: ?>
cya!
<?php endif; ?>

代码语言:javascript
复制
<?php if ($foo) { ?>
Hi There
<?php } else { ?>
cya!
<?php } ?>

这是因为每一行都在“说话”,当php标签之间有很多html时,这会很有帮助。

票数 16
EN

Stack Overflow用户

发布于 2011-05-17 05:07:35

这两种方法都是可以接受的。有些人认为替代语法(endif)在模板中更易读。带有现代语法着色/突出显示错误的IMHO,不再适用。只需选择一种风格并坚持下去。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6023418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档