2011-07-04 9 views
8

Dobra, jestem oficjalnie zagubiona. Piszę o tym intro MVC w php i widzę ten kod, i dodałem kilka elementów do tablicy na górze, aby sprawdzić, czy to naprawdę działa.Co to za Colon w instrukcji foreach dla php?

<?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> 

Zauważam, że jest: w linii oświadczenia foreach. Skąd to pochodzi? Co ważniejsze, co to jest? Czy to: symbol oznacza "dobrze, będziemy kontynuować to oświadczenie w następnym wierszu"?

Ale poza tym jest to fajna sztuczka, której się nauczyłem. Mniej tagów html w moim php echo chyba.

daj mi znać, co myślisz, dzięki!

Odpowiedz

7

jest to "Alternative składnia struktur kontroli" ... zobacz http://ru2.php.net/manual/en/control-structures.alternative-syntax.php i http://www.php.net/manual/en/control-structures.foreach.php#82511.

Jest najczęściej używany w kodzie widoku, na który mogą patrzeć projektanci, ponieważ uważa się, że jest on łatwiejszy do zrozumienia dla osób niebędących programistami. Zdecydowanie odradzam używanie go, ponieważ naprawdę nie oferuje niczego w porównaniu z komentowanym zestawem aparatów ortodontycznych i wiele IDE nie gra z nim dobrze. Jeśli Twój kod może być kiedyś potrzebny do oglądania przez innych, najlepiej jest kodować bez użycia alternatywnej składni.

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

jest lepiej reprezentowane ...

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

Po uruchomieniu gniazdowania wielu zestawów struktur, które kończą się endstructure; zamiast nawiasu, a następnie komentowane nawiasy klamrowe dają bardziej szczegółowy opis, który blok jest kończony. Możesz oczywiście wypowiedzieć ostateczną strukturę; Składnia, ale nadal masz problem, że wiele IDE nie będzie w stanie dopasować ich do ciebie.