PHPでウェブの世界と繋がろう!
menu
ホーム > PHPサンプル > 条件文系 > foreach 文を作成したい

foreach 文を作成したい

Pocket

サンプルコード sample code

- 1 分ノート ! -

  • foreach文は配列をループ(反復)処理して現在の配列要素の キー や 値 を取得する
  • foreach文の構文は2種類ある
    配列要素から 値 のみを取出す構文、キー と 値 の両方取出す構文

    //値のみ取得
    foreach (配列 as $value)
    	文
    //文が複数の場合「{ }(ブロック)」で括る
    foreach (配列 as $value) {
    	文
    	文
    }
    
    //キーと値の両方取得
    foreach (配列 as $key => $value)
    	文
    //文が複数の場合「{ }(ブロック)」で括る
    foreach (配列 as $key => $value) {
    	文
    	文
    }
    
  • foreach文は配列やオブジェクトを扱う
    (他のデータ型を扱うとエラーが発生する)
  • foreach文では キー や 値 の代入に 変数 を指定する
  • foreach文を実行すると配列ポインタは自動的に先頭要素にリセットされる
  • foreach文は変数への代入後、内部配列ポインタが1つ進む
  • ※文とはコードの記述単位の1つで、PHPの場合は「;(セミコロン)」で区切られるまでのコード

foreach 文作成

– サンプル Click Here ! –

<h3>簡単なforeach文</h3>
<?php
$array = array(1, 2, 3, 4, 5);
foreach ($array as $value){
	echo '現在の配列要素の値は&#91; '.$value.' &#93;です。'."<br/>\n";
}
?>

<h3>while文で表す。上記と等価</h3>
<?php
$array = array(1, 2, 3, 4, 5);
reset($array);//配列ポインタを初期化して先頭要素に移動させる
while (list(, $value) = each($array)) {
	echo '現在の配列要素の値は&#91; '.$value.' &#93;です。'."<br/>\n";
}
?>

<h3>配列要素を手動で指定する</h3>
<?php
$i = 0;
$array = array(1, 2, 3, 4, 5);
foreach ($array as $value) {
	echo "\$array&#91;$i&#93; => $value<br/>\n";
	$i++;
}
?>

<h3>配列のキーと値を取得する</h3>
<?php
$array = array(
	"name" => 		'TRY PHP!',
	"url" => 		'http://www.tryphp.net',
	"mail" => 		'info@tryphp.net'
);
foreach ($array as $key => $value) {
	echo '現在の配列要素のキーは[ '.$key.' ]で値は[ '.$value.' ]です。'."<br/>\n";
}
?>

<h3>多次元配列の場合はforeach文を入れ子にする</h3>
<?php
/* foreach の例4: 多次元配列 */
$array = array();
$array&#91;0&#93;&#91;'idno'&#93; = '001';
$array&#91;0&#93;&#91;'name'&#93; = '鈴木';
$array&#91;0&#93;&#91;'mail'&#93; = 'suzuki@mydomain.com';
$array&#91;1&#93;&#91;'idno'&#93; = '002';
$array&#91;1&#93;&#91;'name'&#93; = '田中';
$array&#91;1&#93;&#91;'mail'&#93; = 'tanaka@mydomain.com';
$array&#91;2&#93;&#91;'idno'&#93; = '003';
$array&#91;2&#93;&#91;'name'&#93; = '山田';
$array&#91;2&#93;&#91;'mail'&#93; = 'yamada@mydomain.com';

foreach ($array as $value1) {
	foreach ($value1 as $key2 => $value2){
		echo "{$key2} : {$value2}<br/>\n";
	}
	echo "<hr/>\n";
}
?>
実行結果
簡単なforeach文
現在の配列要素の値は[ 1 ]です。
現在の配列要素の値は[ 2 ]です。
現在の配列要素の値は[ 3 ]です。
現在の配列要素の値は[ 4 ]です。
現在の配列要素の値は[ 5 ]です。

while文で表す。上記と等価
現在の配列要素の値は[ 1 ]です。
現在の配列要素の値は[ 2 ]です。
現在の配列要素の値は[ 3 ]です。
現在の配列要素の値は[ 4 ]です。
現在の配列要素の値は[ 5 ]です。

配列要素を手動で指定する
$array[0] => 1
$array[1] => 2
$array[2] => 3
$array[3] => 4
$array[4] => 5

配列のキーと値を取得する
現在の配列要素のキーは[ name ]で値は[ TRY PHP! ]です。
現在の配列要素のキーは[ url ]で値は[ http://www.tryphp.net ]です。
現在の配列要素のキーは[ mail ]で値は[ info@tryphp.net ]です。

多次元配列の場合はforeach文を入れ子にする
idno : 001
name : 鈴木
mail : suzuki@mydomain.com


idno : 002
name : 田中
mail : tanaka@mydomain.com


idno : 003
name : 山田
mail : yamada@mydomain.com


– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2012年3月4日
最終更新日:2014年02月20日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsample-control-foreach/trackback/