U-style PHP独学日記  Since2001 メインメニューに戻る PHPメニューに戻る
タイトル配列を扱う関数
文書管理番号 作成日 分類1 分類2 キーワード

PHP0021

2004-01-27 関数 foreach 配列

思い出しました。そういえばforeachという関数で躓いていたのでした。早速調査です。
詳しくはPHPのマニュアルに載ってますのでそちらを参考にしてください。 何べんも拝見しますがこのページは本当にありがたいページです。
早速ですが、どうやらforeachは配列を簡単に取り扱うことができるように作られた関数のようです。マニュアルにありますがどうやら他の言語にもあるようです。内容的には配列の中身をforでまわしてくれるような感じです。

構文1
foreach (配列名 as $value){実行文}

for文と明らかに違うのは何回行うかを数えるカウンタがないことでしょうか。終了判定もありませんし初期値の指定もありません。どうやらこのforeachは初期値を自動的にリセットしてくれるみたいです。for文でいうと
for ($int_i = 0;$int_i <配列の終わりまで;$int_i++)のなかの$int_i = 0の初期値設定と $int_i++増分設定および配列の終わりの指定が最初から組み込まれているといったところでしょうか。

構文2
foreach(配列名 as $key => $value){実行文}
上記のように指定することで先ほどのカウンタ(ポインタが正解ですがあえて)を確認することができます。


<?
header("Content-type: text/html; charset=euc_jp");
?>
<html>
   <body>
     <?
       //プログラム1
       $array1 = array("さくら組","タンポポ組","すみれ組み");
       foreach ($array1 as $value){
         echo " $value <br>\n";
        }
       //プログラム2
       $array2 = array("1年生","2年生","3年生","4年生","5年生","6年生");
       foreach ($array2 as $key => $value){
         echo " $key の値は $value です<br>\n";
       }
     ?>
   </body>
 </html>
 
 

実行結果

 

本日の参考文献

  •  MySQL&PHPでつくるWebデータベース Spencer K Ogawa著 エーアイ出版
  •  http://www.php.net/manual/ja/control-structures.foreach.php