広告 PHP入門

【PHP入門】繰り返し(for文、foreach文)

はじめに

前回の記事では、PHPの条件分岐(if文)について紹介しました。

本記事では、PHPの繰り返し処理(for文、foreach文)について紹介します。

for文を使った繰り返し処理

for文は、繰り返し処理を行うための制御文です。カウンタを用意してその値によって何回繰り返すかを決めます。

for文の書き方は次のとおりです。

phpのfor文

上記の例では、$iの初期値を0(カウンタの初期値:$i = 0)として、$iを1つずつ増やしていき(カウンタの増え方:$i++)10以上になるまで(繰り返しを続けるための条件:$i < 10)処理を繰り返し実行します。

スポンサーリンク

for文の使用例

それでは、実際にPHPのプログラムでfor文を使用した繰り返し処理を紹介します。

次の例では、金額の配列「$moneys」の要素数分 for文で繰り返し、配列「$moneys」に格納されている値の合計額を求めています。

[for文の使用例]

<?php

$moneys = array(100,300,500,1000); // 金額の配列
$total = 0; // 合計額

for ($i = 0; $i < count($moneys); $i++) {
    var_dump($moneys[$i]);
    print("<br />");
    
    // 金額を合算する
    $total += $moneys[$i];
}

print("合計金額:$total");

[実行結果]

int(100)
int(300)
int(500)
int(1000)
合計金額:1900

foreach文を使った繰り返し処理

foreach(フォーイーチ)文とは、配列の要素の数だけ繰り返しを行う制御文です。

for文のようにカウンタの初期値や繰り返しを続けるための条件、カウンタの増え方(減り方)を設定する必要はなく、指定した配列の要素の数だけ繰り返しを行います。

foreach文の書き方は次のとおりです。

foreach文の書き方

上記の例では、配列「$array」から要素を1つずつ取り出し変数「$value」に値を格納し、配列の要素が無くなるまで繰り返し処理を実行します。

foreach文の使用例

それでは、実際にPHPのプログラムでforeach文を使用した繰り返し処理を紹介します。

次の例では、金額の配列「$moneys」の要素数分 foreach文で繰り返し、配列「$moneys」に格納されている値の合計額を求めています。

[foreach文の使用例]

<?php

$moneys = array(100,300,500,1000); // 金額の配列
$total = 0; // 合計額

foreach ($moneys as $value) {
    var_dump($value);
    print("<br />");
    
    // 金額を合算する
    $total += $value;
}

print("合計金額:$total");

?>

[実行結果]

int(100)
int(300)
int(500)
int(1000)
合計金額:1900

foreach文で配列要素のキーを取得する

foreach文では、配列要素の値だけではなく、キーを取得することができます。

配列要素のキーを取得するforeach文の書き方は次のとおりです。

foreach文でキーを取得する例

上記の例では、配列「$array」から要素を一つ取り出し変数「$value」に値を格納変数「$key」にキーを格納し、配列の要素が無くなるまで繰り返し処理を実行します。

 

次の例では、配列「$array」の要素数分 foreach文で繰り返し、配列「$array」に格納されている要素の値とキーを出力しています。

[foreach文の使用例(値とキーを取得)]

<?php

$array = array("100" => "和食", "101" => "中華", "102" => "洋食");

foreach ($array as $key => $value) {
    print("キーは$key 値は$value<br />");
}

?>

[実行結果]

キーは100 値は和食
キーは101 値は中華
キーは102 値は洋食

終わりに

本記事では、PHPの繰り返し処理(for文、foreach文)について紹介しました。

次回の記事では、while文を使った繰り返し処理について紹介します。

helpful