【PHP】For文
For文を利用して、繰り返し処理について学びます。
For文
JavaScriptと同じようにFor文を通して、繰り返し処理をすることができます。JavaScriptを理解していれば、結果は分かるので、結果の解説は省きます。例:1~5を連続して表示
<?php for ( $i = 1; $i <= 5; $i++ ) { print $i; } ?>
例:1~5の文章を連続して表示
<?php for ( $i=0; $i<5; $i++ ) { print '商品を表示します。<br>' . "\n"; } print '商品は以上です。' . "\n"; ?>
例:ある数字から数字へ連続して処理・表示
<?php for ( $i = 17; $i <= 21; $i++ ) { print '9月' . $i . '日<br>'; } ?>
結果は9月17日~9月21日まで表示されます。
例:テーブルを作る。
<table border="1"> <?php for ($i = 1 ; $i <=5 ; $i++){ print'<tr>'; print'<td><img src="img/' .$i. 'jpg"></td><td>商品'.$i.'</td>'; print'</tr>'; } ?> </table>
結果は5段組みのテーブルになります。
例:指定した画像を表示する。
<?php $num = 10; for ( $i = 1; $i <= $num; $i++ ) { print '<img src="img/' . $i . '.jpg"><br>' . "\n"; } ?>
$numが10なので、1~10.jpgの画像が表示されます。
ループカウンター
For文の繰り返し処理をループカウンターを利用して制御します。例:指定した日の前後二日間を表示する。(8月31日の前後二日日間)
mktime関数を使い、日付を取得します。
<?php for ( $i= -2 ; $i <=2 ; $i++){ print date('y-m-d',mktime(0,0,0,9,$i,2013)).'<br>'."\n"; } ?>
$iが0の場合、mktime(0,0,0,9,0,2013)の時、8月31日になるので、結果は、
13-02-26
13-02-27
13-02-28
13-03-01
13-03-02
13-02-28
になります。
例:今日から前後二日間を表示する。
strtotime関数を使い、今日から○日分のデータを表示させることができます。
<?php for ( $i = 0; $i < 5; $i++ ) { print date ( 'Y-m-d', strtotime ( "+$i" .' day' ) ) . '<br>' . "\n"; } ?>
九九を書く
九九をFor文を書くには、For文を二つ組み合わせることで簡単に書くことができます。<table> <tr> <th> </th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th> </tr> <?php for ( $i = 1; $i <=9 ; $i++){ print ('<tr>'); print('<th>' . $i. '</th>'); for($j = 1; $j <=9 ; $j++){ print ('<td>' . $i * $j.'</td>'); } print('</tr>'); } ?> </table>