こんにちは、フルスタックエンジニアのryuです。
今回の記事では、cakephpのtemplate内でforeachを使う方法について解説します。foreachは繰り返しの処理を実施します。データベースから取り出したデータをforeachを使って、HTMLに表示させてみましょう。またforeachのindex(インデックス)の取得方法も解説します。
目次
【cakephp】template内でforeachを使う方法解説
foreachの使い方
foreachをtemplate内で使うためには、以下のように記述します。
//$items = array( 'hoge1','hoge2','hoge3')
<?php foreach($items as $item) :?>
<?= h($item); ?>
<?php endforeach; ?>
// 表示内容
// hoge1
// hoge2
// hoge3
foreachは配列の中身の個数分の処理を繰り返し実施します。配列の中身はhoge1~hoge3が格納されています。格納された文字列を出力しているだけの処理になります。
foreachの中身をlistで表示する
foreachの中身をlistで表示するためには、htmlの<ul>タグを使用します。以下のように記述します。
//$items = array( 'hoge1','hoge2','hoge3')
<ul>
<?php foreach($items as $item) :?>
<li><?= $item ?></li>
<?php endforeach; ?>
</ul>
// 表示内容
// ・hoge1
// ・hoge2
// ・hoge3
indexを取得する場合のforeachの書き方
index(インデックス)を取得する場合
index(インデックス)を取得する場合は、以下のように記述します。
//$items = array( 'hoge1','hoge2','hoge3')
<?php foreach($items as $index => $item) :?>
<?php echo $index . ':' . $item; ?>
<?php endforeach; ?>
// 表示内容
// 0:hoge1
// 1:hoge2
// 2:hoge3
連想配列の場合
連想配列の場合は、以下のように取得できます。
//$items = array(
// 'name1' => 'hoge1',
// 'name2' => 'hoge2',
// 'name3' => 'hoge3';
// )
<?php foreach($items as $key => $item) :?>
<?php echo $key . ':' . $item; ?>
<?php endforeach; ?>
// 表示内容
// name1:hoge1
// name2:hoge2
// name3:hoge3
連想配列の場合は、keyを取得することができます。連想配列については、こちらのドキュメントを参考にしてください。
cakephpのtemplateでforeachを使う方法まとめ
今回の記事では、cakephpのtemplateでforeachを使う方法について解説しました。
foreachは基本的な内容なので覚えておきましょう!
当ブログでは、このようなITに関連する記事を発信しているので興味のある方は是非ご覧ください。
また、cakephpをさらに知りたいという方は、こちらの参考書を読んでみてください。
リンク
リンク