本記事では、ループ文を簡潔に記述することが出来るforeach文の使い方・書き方について解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
Contents
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]");
}
?>

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