Menu
Coddy logo textTech

foreach ループ

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

配列を扱う際には、各要素を1つずつ順番に処理する必要があることがよくあります。インデックスカウンタを使った for ループを使用することもできますが、PHP はよりクリーンな解決策を提供します:foreach ループです。

foreach ループは、配列のイテレーションのために特別に設計されています。それはカウントを自動的に処理し、各要素への直接アクセスを提供します。

<?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 バージョンはより短く、読みやすいです。インデックス変数を管理する必要がなく、配列の長さを気にする必要もありません—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

チートシート

foreach ループは、インデックス変数を管理せずに配列をイテレートするために特別に設計されています。

基本構文:

<?php
foreach ($array as $item) {
    // use $item
}
?>

例:

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

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

これは、インデックスカウンターを使用した for ループを使用するよりもクリーンで、PHP が自動的にカウントと配列の長さを処理します。

自分で試してみよう

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

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


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

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

基礎のすべてのレッスン