../../image/benilogo.gifPHP4 について


PHP の list()について。

 PHPのマニュアル each( )

each -- 配列から、次のキーと値のペアを返す
と書いてあるが、どんな動きをしているのか サンプルを実際に動かしてみる。
php_02/php_each01.php
<H1>php  each( )のテストです。</H1>
<HR>
<PRE>
each( )の使い方<br>
<?php
  $arr = array("abc","def","ghij",DELTA => "bbb","jiro",-5 => "wo"
         ,"jully","zhe",2,3,4,5,6,7,8,9,10);

  $foo = each($arr); ← 第一回目の each($arr)

  print_r($arr); ← 上記の設定した配列を表示する。
  print_r($foo);      第一回目の each($arr)の表示
  $foo = each($arr);  第二回目の each($arr)
  print_r($foo);    第二回目の each($arr)の表示
  echo "[0] = $foo[0]","[1] = $foo[1]","      [value] = $foo[value]"
       ,"[key] = $foo[key]","\n";
  list($a,$b) = $foo;
  echo '$a = ',$a,'$b = ',$b,"\n";
  $foo = each($arr);
  $foo = each($arr);
  print_r($foo);
  $foo = each($arr);
  print_r($foo);
  $foo = each($arr);
  print_r($foo);
  $foo = each($arr);
  print_r($foo);
  $foo = each($arr);
  print_r($foo);
  $foo = each($arr);
  print_r($foo);


  //var_dump($arr);
  echo "配列要素数=",count($arr);
  echo("\n");


?>

</PRE>

</body>
</html>

実行結果
Array
(
    [0] => abc
    [1] => def
    [2] => ghij
    [DELTA] => bbb
    [3] => jiro
    [-5] => wo
    [-4] => jully
    [-3] => zhe
    [-2] => 2
    [-1] => 3
)
  ----省略 ----
Array      第二回目の each($arr)の表示
(
    [1] => def
    [value] => def
    [0] => 1
    [key] => 1
)
[0] = 1[1] = def      [value] = def[key] = 1
$a = 1$b = def
Array
(
    [1] => bbb
    [value] => bbb
    [0] => DELTA
    [key] => DELTA
)
Array
(
    [1] => jiro
    [value] => jiro
    [0] => 3
    [key] => 3
)


each( ) の動作イメージ
  • こんな感じで each( )
  • 配列は内部ポインタ1づつ増加。
  • 最後は false を返す。
  • reset($arr) で内部ポインタを
    リセット出来る。
  • list($a,$b) = each($arr) で
    配列要素を取り出せる。

























目次に戻る

2005/03/05start ********* Last Update 2006/11/12 16:55 JST

(C) Y.Kondou,2005,2006 All Rights, Reserved.
その他、お気づきの点がありましたら連絡先はこちらから