【问题标题】:Using if() {} vs if(): endif; [duplicate]使用 if() {} 与 if(): endif; [复制]
【发布时间】:2011-11-29 12:51:06
【问题描述】:

可能重复:
Difference between if () { } and if () : endif;

简单的问题,

当我开始编写 PHP 时,我看到了这样的 if 语句:

If(1 == 1):
Echo 'hello world';
Endif;

大多数人喜欢的地方

If(1== 1) {
Echo 'hello world';
}

有什么不同吗?是提高脚本的速度还是比我这样做的方式更好?

【问题讨论】:

标签: php syntax if-statement


【解决方案1】:

虽然为了在模型视图控制器项目中更好的易读性,该语句是 equals 更好地使用

if(1== 1) {
    echo 'hello world';
}

在模型/控制器部分,另一个在视图部分。

<? if(1 == 1): ?>
   <div>..</div>
<? endif;?>

因此网页设计师/图形可以更好地处理 html 代码。

【讨论】:

  • 说不同的语法是针对 MVC 的有点误导。
  • @jprofitt:也许我的英语没有帮助。我只是想说不同的语法在 MVC 中是有意义的,我解释了原因。
【解决方案2】:

没有。但是,您不应该考虑微优化(这是万恶之源),尤其是因为您称自己为初学者。

第二个比较常见,第一个在混合php和html时通常更易读。

【讨论】:

  • +1 - 过早的优化也不是一个好主意。
【解决方案3】:

它们之间没有速度差异。这是if 的替代语法。

有些人喜欢if() {,有些人喜欢if ():

我个人使用 if(): 当有一堆 HTML 需要输出的时候。

<?php if (condition) : ?>
//some html tags html
<?php endif; ?>

当需要进行一些 php 处理时,我使用if(condition) {

<?php
if (condition)
{
   //other PHP stuff
}
?>

【讨论】:

    【解决方案4】:

    当我将 PHP 与 HTML 混合使用时,我个人会使用替代语法(这种方式对我来说更简洁):

        <p>
            <label>Customer:</label>
            <?php echo Form::input('customer', Arr::get($post, 'customer'), array('maxlength' => 80)) ?>
            <?php if (isset($errors['customer'])): ?>
                <span class="error"><?php echo $errors['customer'] ?></span>
            <?php endif ?>
        </p>
    

    除此之外没有区别。

    【讨论】:

      【解决方案5】:

      有什么不同吗?是提高脚本的速度还是比我这样做的方式更好?

      没有。
      这只是做同一件事的两种不同方法。

      对于第二个,几乎所有优秀的代码编辑器/IDE 都会突出显示匹配的大括号。
      这样的原因,再加上花括号与许多其他语言兼容这一事实,使得它们被更频繁地使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 1970-01-01
        • 2022-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多