本文へスキップ
BecomeCoder

PHPコース · 第3章 配列と連想配列 · レッスン10

foreach ― 配列をひとつずつ処理する

ブラウザで完結

導入

配列の中身を1つずつ順番に処理したい――このために PHP には foreach(フォーイーチ)という専用の繰り返しがあります。番号を気にせず、全部の要素をなめられます。

説明

foreach ($配列 as $要素) { ... } と書くと、配列の各要素が順に $要素 に入ってループします。

<?php
$fruits = ["りんご", "みかん", "ぶどう"];

foreach ($fruits as $fruit) {
    echo "私は{$fruit}が好きです\n";
}

要素の数だけ、中の処理が繰り返されます。番号(添字)も一緒に使いたいときは as $キー => $値 の形にします。

<?php
$fruits = ["りんご", "みかん", "ぶどう"];

foreach ($fruits as $i => $fruit) {
    echo ($i + 1) . "番目: {$fruit}\n";
}

やってみよう

$fruits の中身を増やして、その分だけ出力の行が増えることを確かめましょう。

演習

数の配列 $prices = [300, 500, 1200]foreach で回して、合計金額を計算し表示してください。

ヒント1を見る

合計用の変数を先に用意します。$sum = 0;

ヒント2を見る

ループの中で $sum += $price;。ループの後に echo "合計: {$sum}円\n";。答えは 2000円。

実際に動かしてみよう

下のエディタにPHPを書いて「実行」を押すと、ブラウザ内で動く本物のPHP(php-wasm)で出力が表示されます。コードは必ず <?php で書き始めます。本文の例をそのまま試したり、書き換えたりしてみましょう(初回だけPHPの読み込みに少し時間がかかります)。

PHP — ブラウザ内で実行

ブラウザ内で動く本物のPHP(php-wasm / PHP 8.4)を読み込みます(初回のみ読み込みに少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。