PHP

【PHP】foreachの使い方・書き方|ループ文を簡潔に記述しよう

本記事では、ループ文を簡潔に記述することが出来るforeach文の使い方・書き方について解説しています。

PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

本書情報
著者谷藤 賢一
発売日2017/3/6
ページ数331ページ
Kindle版
レビュー
(Amazon)
(168件)

参考書が苦手な人はUdemyの動画がおすすめ
ちゃんと学ぶ、PHP+MySQL(MariaDB)入門講座

動画情報
作成者たにぐち まこと
学習時間11時間
受講者数24,526人
レビュー (4,518件)
動画の詳細はこちら

foreachとは

foreachとは、配列やオブジェクトを繰り返し処理することができる便利な文です。PHPで代表的な繰り返し処理といえば、for文ですが条件式の記述や配列の添字をわざわざ書く必要があり記述量が多いです。

しかし、foreachはfor文と全く同じ処理を少ない記述量で実装することが出来ます。今まで繰り返し処理をfor文で記述している人がいるならforeach文で記述することをオススメします。

foreachの使い方・書き方

それでは本題のforeach文の使い方・書き方について見ていきましょう。

<?php 
$arr = ['データ1', 'データ2', 'データ3'];
foreach($arr as $value){
    // 処理を記述
}
?>
foreachの使い方
  • $arr:対象となる配列を渡します。
  • $value:$arr内に格納されているデータが一つずつ$valueに代入されます。

for文のように「0〜配列の長さ -1」までの値を使いたい場合は、以下のように記述します。

<?php 
$arr = ['データ1', 'データ2', 'データ3'];
foreach($arr as $i => $value){
    // 処理を記述
}
?>
値の取得
  • $i:配列の添字が代入されます。

下記のサンプルコードでは、配列のデータを全て取得する処理を実装しています。for文と違いが分かるようにfor文を使って実装したコードとforeach文を使って実装したコードの両方を記載しています。

<?php 
$fruits_arr = ['リンゴ', 'バナナ', 'ブドウ'];

foreach($fruits_arr as $i => $fruits){
    print_r("配列の[${i}]番目目:$fruits");
}

for($i = 0; $i < count($fruits_arr); $i++){
    print_r("配列の[${i}]番目:$fruits_arr[$i]");
}
?>
サンプルコード実行結果
サンプルコード実行結果

配列のデータが全て取得できていることが確認できました。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村