foreachの制御構造に関する別の構文
Twitterでsymfonyの話が出ていたので、ドキュメント読んでみようと、chmファイルを落として読み始めてみた。
http://code.google.com/p/symfony-doc-ja/
まだまだ、肝心のsymfonyまで話が進んでないけど、その途中でちょっと見慣れない記述を見つけた。
<table> <tr><th>Date</th><th>Title</th></tr> <?php foreach ($posts as $post): ?> <tr> <td><?php echo $post['date'] ?></td> <td><?php echo $post['title'] ?></td> </tr> <?php endforeach; ?> </table>
(前後省略)
endforeach?
こーいう書き方が出来るのを知らなかったので、ドキュメントを見てみた。
php 制御構造 foreach
http://jp.php.net/manual/ja/control-structures.foreach.php
ところが、このforeachについてのドキュメント内にendforeachについての記述がまったくない。
whileのページにはendwhileについて載ってるんですけどね。
制御構造に関する別の構文のところに説明が載ってました。
http://jp.php.net/manual/ja/control-structures.alternative-syntax.php
確かに、htmlに埋め込むにはこちらの方がすっきりすると思う。
今まで、こんな風に書いてました。
<table> <tr><th>Date</th><th>Title</th></tr> <?php foreach ($posts as $post) { ?> <tr> <td><?php echo $post['date'] ?></td> <td><?php echo $post['title'] ?></td> </tr> <?php } ?> </table>
ifとかと入れ子になるとわかりにくい。。。
いまでは、Smartyがメインなので、html埋め込みとかよっぽどでないとやらないんですけどね。