【问题标题】:What is this Colon inside foreach statement for php?php 的 foreach 语句中的冒号是什么?
【发布时间】:2011-09-27 20:55:44
【问题描述】:

好吧,我很困惑。 我正在阅读 php 中的这个 MVC 介绍,我看到了这段代码,我在顶部的数组中添加了一些项目,看看它是否真的有效。

  <?php 
 $members  = array('apple', 'oranges', 'banana');
  ?>

<html>
<h1>Members of community.com:</h1>
<ul>
<?php foreach ($members as $i => $member) : ?>
<li>Member #<?php echo $i + 1; ?>: <?php echo $member; ?></li>
 <?php endforeach; ?>
 </ul>
</html>

我注意到在 foreach 语句的行中有一个 :。这是从哪里来的?更重要的是,它是什么?这是:符号的意思是“好的,我们将在下一行继续这个语句”?

但除此之外,这是我学到的很酷的技巧。我猜我的 php echo 中的 html 标签更少。

告诉我你的想法,谢谢!

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:

    这意味着foreach 将一直持续到到达endforeach。它是{} 的替代语法。

    http://www.php.net/manual/en/control-structures.foreach.php#82511

    【讨论】:

    • 还有一个快速的答案......现在我明白了......谢谢大家。
    • @user672178,如果您喜欢这个答案,请将其标记为。这就是 SO 的工作方式。
    【解决方案2】:

    这是“控制结构的替代语法”...请参阅 http://ru2.php.net/manual/en/control-structures.alternative-syntax.phphttp://www.php.net/manual/en/control-structures.foreach.php#82511

    它主要用于设计人员可能正在查看的视图代码中,因为它被认为对于非程序员来说更容易理解。我强烈建议不要使用它,因为它确实提供了一组注释的大括号,并且许多 IDE 不能很好地使用它。如果您的代码可能需要其他人查看,最好不要使用替代语法来编写代码。

    foreach ($setOfItems as $item):
        //do something
    endforeach;
    

    最好表示为...

    foreach ($setOfItems as $item) {
        //do something
    } // end ($setOfItems as $item) foreach
    

    在您开始嵌套多个以 endstructure 结尾的集合结构之后;而不是大括号,然后注释大括号给出了哪个块正在结束的更详细的描述。当然,您可以评论末端结构;语法,但您仍然有许多 IDE 无法为您匹配它们的问题。

    【讨论】:

      猜你喜欢
      • 2016-10-16
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 2021-01-14
      • 2011-02-23
      • 1970-01-01
      相关资源
      最近更新 更多