| 1月 | 2月 | 3月 | 4月 | ・・・ |
<table> <tr> <td>1月 <td>2月 <td>3月 <td>4月 <td>・・・ </tr> <tr> <td> <select> <option>春</option> <option>夏</option> <option>秋</option> <option>冬</option> </select> </td> <td> <select> <option>春</option> <option>夏</option> <option>秋</option> <option>冬</option> </select> </td> </tr> ・・・ ・・・ </table>
これではtdとselect~optionを何度も記述することになり、コードが長くなってしまうのでPHPを使う
<table> <tr> <?php for($i = 1 ; $i <= 12; $i++ ) : ?> // 1段目のtdを回すfor <td><?php echo $i.'月'; ?></td> <?php endfor; ?> </tr> <tr> <?php for($i = 1 ; $i <= 12; $i++ ) : ?> // 2段目のtdを回すfor <td> <select> <?php $season = array( // option内で使う配列を作成 1 => '春', 2 => '夏', 3 => '秋', 4 => '冬' ); ?> <?php foreach($season as $key => $season_name): ?> // optionを配列から取り出すforeach(optionを挟むように配置) <option><?php echo $season_name; ?></option> <?php endforeach; ?> </select> </td> <?php endfor; ?> </tr> </table>
何をループさせたいのかによって、何を挟むように配置するのか考える
| 1月 | 2月 | 3月 | 4月 | 5月 | 6月 | 7月 | 8月 | 9月 | 10月 | 11月 | 12月 |