【问题标题】:Why use : instead of { in if statements为什么在 if 语句中使用 : 而不是 {
【发布时间】:2025-08-30 08:25:01
【问题描述】:

人们为什么使用

if(condition) :
    /*do something*/
else:
    /*do something else*/
endif;

而不是

if(condition) 
{
    /*do something*/
} 
else
{
    /*do something else*/
}

一个比另一个更好吗?我也应该习惯什么?

【问题讨论】:

  • 没有好坏之分,只有不同。个人风格问题。有些人发现当 PHP 嵌入 HTML 时,第一个版本更易于阅读。就这样。但它有点异国情调,通常第二种形式是首选并被认为是标准的。
  • 我现在认为,它只是一种编码风格,一些开发者认为:提供更具可读性的代码,而另一些则认为 {} 更具可读性。
  • 直接在 HTML 中使用时,带有 : 的版本效果非常好(如可读)。
  • 用HTML处理PHP直接注入时更具可读性

标签: php if-statement syntax conditional


【解决方案1】:

这属于编码风格的范畴。有些人喜欢使用括号,有些人喜欢使用 ":end..." 符号。后者的优势在于更多地使用 PHP 条件和循环输出到 HTML。例如,

//Pure PHP with brackets
<?php
if ($condition) {
   echo "output";
}?>

//PHP and HTML with brackets
<?php
if ($condition) {?>
   output
<?php } ?>

//PHP and HTML with ":end..." notation
<?php if ($condition):?>
   output
<?php :endif ?>

有些人更喜欢最后一个,因为 ":endif" 提供了一个线索,当匹配控制结构时要寻找什么开放结构。括号可以匹配任何其他括号,但 ":endif" 只能匹配和 "if" 构造。您可以根据自己的风格使用任何一种。

【讨论】:

    最近更新 更多