PCゲーマーのWebデザイン備忘録

PCゲーマーのWebデザイン備忘録。東京都内でWEBデザイナーとして働いています。Webデザインやゲームに関することをブログに書いていきます

【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>&nbsp;</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>