2011-07-04 64 views
8

好吧,我正式困惑。 我正在閱讀關於這個MVC介紹在PHP中,我看到了這個代碼,並且我在頂部添加了一些項目到數組中,看它是否真的有效。在PHP的foreach語句中,這個冒號是什麼?

<?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標籤我猜。

讓我知道你的想法,謝謝!

回答

7

這是一個「流程控制的替代語法」 ......看到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無法爲您匹配的問題。

相關問題