php

【cakephp】template内でforeachを使う方法解説【配列の中身を取り出す】

プログラミング

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、cakephpのtemplate内でforeachを使う方法について解説します。foreachは繰り返しの処理を実施します。データベースから取り出したデータをforeachを使って、HTMLに表示させてみましょう。またforeachのindex(インデックス)の取得方法も解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【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を取得することができます。連想配列については、こちらのドキュメントを参考にしてください。

PHP: 配列 – Manual

cakephpのtemplateでforeachを使う方法まとめ

今回の記事では、cakephpのtemplateでforeachを使う方法について解説しました。

foreachは基本的な内容なので覚えておきましょう!

当ブログでは、このようなITに関連する記事を発信しているので興味のある方は是非ご覧ください。

また、cakephpをさらに知りたいという方は、こちらの参考書を読んでみてください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST