Menu
Coddy logo textTech

Foreachループ

CoddyのPHPジャーニー「基礎」セクションの一部。レッスン 49/71。

array を扱うときは、各要素を1つずつ確認する必要がよくあります。インデックスカウンターを使った for loop も使用できますが、PHP にはよりすっきりした解決策である foreach loop が用意されています。

PHPの foreach ループは、配列を順番に処理するために作られています。多くの言語にはこれに似たループがあり、PHPではカウントを自動的に処理し、各要素に直接アクセスできます。

<?php
$fruits = ["apple", "banana", "cherry"];

foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}
?>

出力は次のとおりです:

apple
banana
cherry

構文は簡単です:foreach ($array as $item)。各反復で、配列の次の要素が$itemに代入され、ループ本体内でそれを使用できます。

これを、forループで同じ結果を得る場合と比較してください:

<?php
$fruits = ["apple", "banana", "cherry"];

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . "\n";
}
?>

foreach バージョンはより短く、読みやすくなっています。インデックス変数を管理したり、array の長さを気にしたりする必要はありません。PHP がすべて処理してくれます。

challenge icon

チャレンジ

簡単

カンマ区切りの数値リストを含む1行の入力を読み取ります(例: 10,25,5,30,15)。

foreach ループを使用して配列を反復処理し、すべての数値の合計を計算します。合計値を出力します。

例1:

入力が 10,25,5,30,15 の場合、出力は次のようになります。

85

例2:

入力が 1,2,3,4,5 の場合、出力は次のようになります。

15

例3:

入力が 100,200,300 の場合、出力は次のようになります。

600

自分で試してみよう

<?php
// 入力を読み取る
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);

// TODO: foreachループを使って合計を計算するコードを下に書いてください
$sum = 0;


// 結果を出力する
echo $sum;
?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: PHPオンラインコンパイラ