foreach構文

構文 foreach は、配列の要素を順番に反復処理することができます。 これは配列と、インターフェース Traversable を実装したオブジェクトで動作します。 構文には2つの形式があります:値のみを反復処理する形式と、キーと値の両方を反復処理する形式です。

構文

phpforeach (array as $value) {
  // ループの本体
}
phpforeach (array as $key => $value) {
  // ループの本体
}

例

配列要素の単純な反復処理:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $value) {
    echo $value . '<br>';
  }
?>

コードの実行結果:

php1
2
3
4
5

例

キーと値を取得する配列の反復処理:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3];
  
  foreach ($arr as $key => $value) {
    echo "$key: $value<br>";
  }
?>

コードの実行結果:

phpa: 1
b: 2
c: 3

例

配列要素を変更するための参照の使用:

php<?php
  $arr = [1, 2, 3, 4, 5];
  foreach ($arr as &$value) {
    $value *= 2;
  }
  
  unset($value);
  print_r($arr);
?>

コードの実行結果:

php[2, 4, 6, 8, 10]

関連項目

  • 関数 array_map、
    コールバック関数を配列のすべての要素に適用します
  • 関数 array_walk、
    ユーザー定義関数を配列の各要素に適用します