好的,我正式感到困惑。 我正在阅读这篇关于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回声中的html标签少了。
让我知道你的想法,谢谢!
答案 0 :(得分:8)
这意味着foreach
会一直持续到endforeach
。它是{}
的替代语法。
请参阅http://www.php.net/manual/en/control-structures.foreach.php#82511
答案 1 :(得分:8)
这是“控制结构的替代语法”...请参阅http://ru2.php.net/manual/en/control-structures.alternative-syntax.php和http://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
在您开始嵌套多个以结构结尾的集合结构之后;而不是括号,然后评论大括号给出更详细的描述哪个块正在结束。当然,你可以对结构进行评论;语法,但你仍然有许多IDE无法为你匹配的问题。