foreach - 配列要素の繰り返し処理
当ページのリンクには広告が含まれています。
ここではPHPスクリプトで foreach を使った繰り返しについて解説します。
foreach - 配列要素の繰り返し処理
foreach とは、配列要素の数だけ繰り返し処理を行う制御構文です。配列値や配列キーを変数として格納できるので、配列を使った繰り返し処理に大変有効です。
配列キー使わない/使う場合のforeach制御構文を順にみていきましょう。
配列キーを使わない場合
配列キーを使わない場合のforeach構文です。繰り返し処理を行う「配列」と「配列値の変数」を指定します。
<?php foreach ( 配列 as 配列値の変数 ) { 処理 } ?>
あるいはコロン「:」「endforeach」を使って、以下のように記述します。
<?php foreach ( 配列 as 配列値の変数 ) : 処理 endforeach;
配列キーを使う場合
配列キーを使う場合のforeach構文です。繰り返し処理を行う「配列」と「配列キーの変数」「配列値の変数」を指定します。
<?php foreach ( 配列 as 配列キーの変数 => 配列値の変数 ) { 処理 } ?>
あるいはコロン「:」「endforeach」を使って、以下のように記述します。
<?php foreach ( 配列 as 配列キーの変数 => 配列値の変数 ) : 処理 endforeach;
それでは「foreach」のサンプルスクリプトをみてみましょう。
サンプルスクリプト - 配列キーを使わない場合
まずは、配列キーを使わない場合をみてみましょう。配列変数「$a」の要素数だけ繰り返し処理を行うサンプルスクリプトです。
<?php $a = [1, 2, 'Hello']; foreach ( $a as $value ) { echo $value ."\n"; } ?>
実行結果です。配列変数「$a」の値を変数「$value」に格納しているので、このように実行結果になります。
1 2 Hello
サンプルスクリプト - 配列キーを使う場合
次は、配列キーを使う場合です。配列変数「$a」の要素数だけ繰り返し処理を行うサンプルスクリプトです。繰り返しの際に値だけでなく配列キーも変数に格納します。
<?php $a = ['A'=>1, 3=>2, 'Z'=>'Hello']; foreach ( $a as $key => $value) { echo $key .",". $value ."\n"; } ?>
実行結果です。配列値と配列キーが読み込まれていることがわかります。
A,1 3,2 Z,Hello
次は「while - 繰り返し処理」をみてみましょう。