InfraAcademy

InfraAcademy Blog

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

| #php #cakephp

こんにちは、フルスタックエンジニアの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を取得することができます。連想配列については、こちらのドキュメントを参考にしてください。

PHP: 配列 – Manual

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

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

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

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

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

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る