第9章 for文

PHP入門

第9章 for文 指定した回数だけ繰り返す

while文のように条件式ではなく、指定した回数だけ処理を繰り返したいことが多々出てきます。例えば生徒数であったり学年であったり都道府県の数であったり、数が決まっている場合は条件式ではなく回数で処理を繰り返すケースに利用できます。

for文

for文とは

fro文とは、初期化式①、条件式②、増減③の構成から成り立つ構文で、繰り返す回数を指定することができます。初期化式で指定した値からはじまり、指定した回数まで条件式を判定し、結果がTRUEの場合は次の処理が実行され、結果がFALSEの場合、ループを抜けるといった具合です。

文章ではイメージしにくいので、以下をご覧ください。

<?php

for(初期化式1; 条件式2; 増減式3){

  処理1;
  処理2;
  ・
  ・
}

for文を確認してみる

for文にある()内に、繰り返しの条件式を記述していきます。

<?php

for($i = 0; $i < 5; $i++){

    echo "<p>".$i."回目</p>";

}

初期化式① $i = 0; これはそうです、変数 i に0を与えたました。

条件式②  $i < 5;  $i が 5未満という条件です。

増減式③  $i ++  1ずつ増えていきます。

0から1ずつ増えながら、5未満まで1ずつ増えていくという処理となります。

上記ソースを実行すると以下のとおり。

for文を使ってみる

for文は指定した数だけ処理を行うことが理解出来たかと思います。それでは実際にfor文を使ってコードを書いていきましょう。

指定した数だけ・・事前に数が決まっていることが条件なので、身近で考えると、日付や学校のクラスなどが考えられますね。では身近なところで、お問合わせフォームに設置するケースが多い、プルダウンメニューに日付を選択する場面を想定してみましょう。

※日付は全て31日が表示されます。

<?php

//年月日をセレクトボックスで表示してみる。

$year = DATE("Y"); //現在の西暦を取得
$select_year = "<select name=\"year\">";

for($i = $year; $i <= $year + 5; $i++){   //初期式に現在の西暦を与え、5年先までoptionタグへ

    $select_year .= "<option value=\"".$i."\">".$i."年</option>";
}
$select_year .= "</select>";

//月をopitionタグへ
$select_month = "<select name=\"month\">";

for($i = 1; $i <= 12; $i++){   //1年は12カ月なので、12回繰り返す

    $select_month .= "<option value=\"".$i."\">".$i."月</option>";
}
$select_month .= "</select>";

//日をopitionタグへ
$select_day = "<select name=\"month\">";

for($i = 1; $i <= 31; $i++){

    $select_day .= "<option value=\"".$i."\">".$i."日</option>";
}
$select_day .= "</select>";
?>

<html>
<head>
<title>for文を使ってみる</title>
</head>
<body>

<?php echo $select_year; ?>

<?php echo $select_month; ?>

<?php echo $select_day; ?>

</body>
</html>

上記コードをブラウザで表示すると、以下のとおりとなります。

如何でしょうか?for文の使うことでソースコードがシンプルに記述できますね。

それでは、for文を使い、配列を操作してみます。

for文を使って配列を処理・プルダウンメニューに

上記では日付をプルダウンメニューにしましたが、配列に格納されている都道府県名をプルダウンメニューに表示してみます。どんなソースとなるでしょうか?

<?php

// 都道府県名を配列に格納
$pref_array = array(
    "北海道", "青森県", "岩手県", "宮城県", "秋田県", 
    "山形県", "福島県", "新潟県", "富山県", "石川県", 
    "福井県", "山梨県", "長野県", "茨城県", "栃木県", 
    "群馬県", "埼玉県", "千葉県", "東京都", "神奈川県", 
    "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県", 
    "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県", 
    "鳥取県", "島根県", "岡山県", "広島県", "山口県", 
    "徳島県", "香川県", "愛媛県", "高知県", "福岡県", 
    "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県", 
    "鹿児島県", "沖縄県"
);

$select_pref = "<select name=\"pref\">";

for($i = 0; $i < count($pref_array); $i++){

    $select_pref .= "<option value=\"".$pref_array[$i]."\">".$pref_array[$i]."</option>";
}
$select_pref .= "</select>";

?>
<html>
<head>
<title>for文を使って配列を処理・プルダウンメニューに</title>
</head>
<body>

<?php echo $select_pref; ?>

</body>
</html>

上記コードをブラウザで表示すると、以下のとおりとなります。

コメント

タイトルとURLをコピーしました