【PHP】foreachの使い方を10選の実例コードで解説! – Japanシーモア

【PHP】foreachの使い方を10選の実例コードで解説!

PHP foreachの使い方を初心者にも分かりやすく解説するイメージPHP
この記事は約8分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

このサービスは複数のSSPによる協力の下、運営されています。

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、PHPでのforeachの使い方がすぐに分かるようになります。

PHP foreachは、配列を扱う際に非常に便利な機能です。

しかし、初心者にとっては難しく感じることもあるでしょう。

そこで、今回は初心者向けにPHP foreachの使い方を10のサンプルコードでわかりやすく解説します。

それでは、はじめていきましょう!

●PHP foreachとは

PHP foreachは、配列の要素を繰り返し処理するための構文です。

配列の要素数が不明でも、すべての要素を順番に処理することができます。

これにより、コードが簡潔で分かりやすくなります。

○foreachの基本

基本的なforeachの構文は次のようになります。

foreach (配列 as 値) {
    // 処理
}

ここで、配列の各要素が順番に「値」に代入され、処理が実行されます。

●PHP foreachの使い方

それでは、実際にPHP foreachを使ったサンプルコードを見ていきましょう。

○サンプルコード1:配列の要素を順番に処理する

このコードでは、配列の要素を順番に処理して表示しています。

この例では、数字の配列を作成し、foreachを使って各要素を表示しています。

<?php
$numbers = array(1, 2, 3, 4, 5);

foreach ($numbers as $number) {
    echo $number . PHP_EOL;
}
?>

○サンプルコード2:連想配列のキーと値を取得する

このコードでは、連想配列のキーと値を取得して表示しています。

この例では、連想配列を作成し、foreachを使ってキーと値を表示しています。

<?php
$fruits = array(
    'apple' => 'りんご',
    'orange' => 'みかん',
    'grape' => 'ぶどう'
);

foreach ($fruits as $key => $value) {
    echo $key . ': ' . $value . PHP_EOL;
}
?>

○サンプルコード3:二次元配列を処理する

このコードでは、二次元配列の各要素を順番に処理し、表示しています。

この例では、数値が入った二次元配列を作成し、二重のforeachループを使って各要素を出力しています。

<?php
$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

foreach ($matrix as $row) {
    foreach ($row as $element) {
        echo $element . ' ';
    }
    echo PHP_EOL;
}
?>

○サンプルコード4:条件に合致する要素のみ処理する

このコードでは、条件に合致する配列の要素のみを処理しています。

この例では、整数の配列から偶数だけを抽出し、表示しています。

<?php
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9);

foreach ($numbers as $number) {
    if ($number % 2 == 0) {
        echo $number . PHP_EOL;
    }
}
?>

●PHP foreachの応用例

次に、より高度なforeachの使い方を紹介します。

○サンプルコード5:配列の要素を加工して新しい配列を作成する

このコードでは、元の配列の要素を加工し、新しい配列に格納しています。

この例では、文字列の配列を大文字に変換し、新しい配列に格納しています。

<?php
$fruits = array('apple', 'banana', 'cherry');
$uppercased_fruits = array();

foreach ($fruits as $fruit) {
    $uppercased_fruits[] = strtoupper($fruit);
}

print_r($uppercased_fruits);
?>

○サンプルコード6:連想配列をソートする

このコードでは、連想配列の値に基づいてソートを行っています。

この例では、連想配列の価格情報を昇順に並べ替えて表示しています。

<?php
$prices = array(
    'apple' => 100,
    'banana' => 80,
    'cherry' => 120
);

asort($prices);

foreach ($prices as $key => $value) {
    echo $key . ': ' . $value . PHP_EOL;
}
?>

○サンプルコード7:配列の要素を結合して文字列にする

このコードでは、配列の要素を結合して1つの文字列にしています。

この例では、単語の配列を空白を挟んで結合し、文章にしています。

<?php
$words = array('こんにちは', '世界', '!');
$sentence = implode(' ', $words);

echo $sentence;
?>

○サンプルコード8:配列の要素を検索して結果を表示する

このコードでは、配列内の要素を検索し、該当する要素があれば表示しています。

この例では、都市名が入った配列から指定された都市名を検索し、該当する都市名があれば表示しています。

<?php
$cities = array('東京', '大阪', '名古屋', '福岡', '札幌');
$search_city = '大阪';

if (in_array($search_city, $cities)) {
    echo $search_city . 'が見つかりました。';
} else {
    echo $search_city . 'が見つかりませんでした。';
}
?>

○サンプルコード9:配列の要素をフィルタリングする

このコードでは、配列の要素を条件に基づいてフィルタリングしています。

この例では、整数の配列から偶数だけを抽出し、新しい配列に格納しています。

<?php
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9);

$even_numbers = array_filter($numbers, function ($number) {
    return $number % 2 == 0;
});

print_r($even_numbers);
?>

○サンプルコード10:配列の要素をグループ化する

このコードでは、配列の要素を条件に基づいてグループ化しています。

この例では、商品の配列からカテゴリーごとにグループ化し、新しい連想配列に格納しています。

<?php
$products = array(
    array('name' => 'りんご', 'category' => '果物'),
    array('name' => 'バナナ', 'category' => '果物'),
    array('name' => 'トマト', 'category' => '野菜'),
    array('name' => 'キャベツ', 'category' => '野菜'),
);

$grouped_products = array();

foreach ($products as $product) {
    $grouped_products[$product['category']][] = $product['name'];
}

print_r($grouped_products);
?>

●注意点と対処法

foreachを使う際には、無限ループに注意してください。

配列の構造が予期しないものになっている場合、ループが終わらないことがあります。

配列の構造を確認し、適切なループ処理を行うようにしましょう。

●カスタマイズ方法

foreachを使用する際は、条件や処理内容を変更することで独自の処理が実現可能です。

例えば、次のようなカスタマイズが考えられます。

  1. 配列の要素に対して複数の処理を同時に行う
  2. 二つ以上の配列を同時に扱い、それらの要素を組み合わせて新しい配列を作成する
  3. グループ化や集計など、より複雑な処理を実現する

foreachを使って配列を処理する際は、要件に応じてカスタマイズして、最適な処理を実現しましょう。

まとめ

この記事では、PHPのforeachを使った配列の処理方法について説明しました。

また、サンプルコードを通じて基本的な使い方から応用例までを紹介しました。

foreachは非常に柔軟で強力な機能であり、多くのシーンで活用できます。

カスタマイズ方法を理解し、適切な処理を実現できるようになりましょう。