PHP each()与list()函数

文章总结一下关于PHP each()与list()函数 有需要的朋友可参考一下。

void list ( mixed varname, mixed … )

注:list() 仅能用于数字索引的数组并假定数字索引从 0 开始.

例子,代码如下:

  1. <?php
  2. $info = array('coffee', 'brown', 'caffeine');
  3. // Listing all the variables
  4. list($drink, $color, $power) = $info;
  5. echo "$drink is $color and $power makes it special.n";
  6. // Listing some of them
  7. list($drink, , $power) = $info;
  8. echo "$drink has $power.n";
  9. // Or let's skip to only the third one
  10. list( , , $power) = $info;
  11. echo "I need $power!n";
  12. // list() doesn't work with strings
  13. list($bar) = "abcde";
  14. var_dump($bar); // NULL
  15. ?>

each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动.

array each ( array &array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针,键值对被返回为四个单元的数组,键名为 0,1,key 和 value,单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据,代码如下:

  1. <?php
  2. $people = array("Peter", "Joe", "Glenn", "Cleveland");
  3. print_r (each($people));
  4. ?>

each() 经常和 list() 结合使用来遍历数组,例如,代码如下:

  1. <?php
  2. $cities=array("California"=>array("Martinez","San Francisco","Los Angeles"),
  3. "New York"=>array("New York","Buffalo")
  4. );
  5. while (list($key,$value)=each($cities))
  6. { //echo $key;
  7. //echo "fdash";
  8. //echo
  9. while (list($key0,$val)=each($value)){
  10. echo "elements:$key0,value:$val<br>n";
  11. }
  12. }
  13. ?>