Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 reference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial
ASP ADO リファレンス | PHP関数リファレンス | MySQL関数リファレンス

キーと値のペアを取得する

■ キーと値のペアを取得する

配列のキーと値のペアを取得するには色々な方法が考えられますが、よく使われるのはlist関数とezch関数を組み合わせた方法、あるいはforeach分を使う方法です。
each関数は、拝謁の内部ポインタが指し示しているようそのキーと値のペアを取得して、内部ポインタを次の要素に勧める働きをします。内部ポインタが配列の末尾を超えた場合にFALSEを返しますので、配列の要素がもうないことを判別することができます。

キーと値を格納した配列 = each ( 配列)

each関数が返す配列には、次のように4つの要素があります。

$sample = array("a" => 1,
             "b" => 2,
             "c" => 3);
$element = each($sample);
// $element[0] =a ・・・・・・・・・・・キー
// $element[1] =1 ・・・・・・・・・・・値
// $element["key"] = a ・・・・・・・キー
// $element["value"] = 1 ・・・・・・・・値

これを$element["key"], $element["value"]などのように使っても良いのですが、list関数と組み合わせるともっと楽に記述できます。

$sample = array("a" => 1,
             "b" => 2,
             "c" => 3);
list($key, $value) = each ($sample)
// $key = a ・・・・・・・・・・・キー
// $valur = 1 ・・・・・・・・・・・値

注意しなければならないのは、each関数を使ってループ処理で各要素のキーと値を取得した場合、ループを抜けた後に配列の内部ポインタが最後の要素をさしたままになっていることです。each関数を使ってループを行う場合は、事前にreset関数を使って内部ポインタを配列の先頭に移動しておくようにしたほうが良いでしょう。
foreach分を使う場合は、次のように配列メイン後ろに「as」というキーワードと、キーや値を受け取る変数を記述します。

foreach (配列 as 変数1 => 変数2)
{
    //変数1はキー、変数2は値を受け取る
}

FOREACH文の場合は、ループ処理を始める前に、配列の内部ポインタが自動的に先頭要素にリセットされますので、reset関数を事前に使っておく必要はありません。

 

<?php
   $sample = array("a" => 1, "b" => 2, "c" => 3);

   // header("Content-Type: text/plain; charset=EUC-JP");

   // $sampleをループ処理
   while(list($key, $value) = each($sample))
   {
      echo "\$sample[{$key}] = {$value}\n";
   }

   // 内部ポインタをリセット
   reset($sample);

   // もう一度ループ処理
   while(list($key, $value) = each($sample))
   {
      echo "\$sample[{$key}] = {$value}\n";
   }
?>

<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル