php遍历数组 foreach each() list()方法总结

发布时间:2020-04-16编辑:脚本学堂
本文介绍下,php中遍历数组的多种方法,包括foreach、each()、list()方法,有需要的朋友参考下吧。

php中遍历数组的方法有很多,例如:foreach语句、list()、each()方法等。

一,foreach语句遍历数组
foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给变量value(也可以是其它变量),数组指针会逐一的移动。
 

复制代码 代码示例:
foreach($array as $value){  //$array要遍历的数组,$value为指针指向数组当前的值,as起到赋值的作用
  code to executed;
}

foreach语句也可以获得数组的键名,如下:
 

复制代码 代码示例:
foreach($array as $key => $value){
  echo $key "-" $value. "<br />";
}

二,echo()函数
each()的作用是将数组当前元素的键值对拆成一个新数组,并把下一个元素作为当前元素。比如Array(...,'Robert'=>'Bob',...)中的'Robert'=>'Bob'键值对,拆成Array([1]=>'Bob',[value]=>'Bob',[0]=>'Robert',[key]=>'Robert')数组,拆成两套(共四个键值对)返回,0和1的序号对,key和value的名-值对,使用其中一套就可以了。

例:
 

复制代码 代码示例:
<?Php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while($elements = each($prices)){
  echo $elements['key'];  //echo $elements[0];
  echo " - ";
  echo $elements['value'];   //echo $element[1];
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

三,list()函数遍历数组
list()函数可以用来将一个数组分解为一系列的值。list()常与each()一起使用。但是list()也可以不与each()一起使用,例如:list($key, $value) = explode(":", $v);
list($key, $value) = each($array);   //$key,$value可以任意命名变量名
该句是将each返回的数组当前的0,1位置的元素赋值给$key,$value变量。
例子:
 

复制代码 代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
while(list($product, $prices) = each($prices);){
  echo $product "-" $prices;
  echo "<br />";
}

输出结果:
Tires-100
Oil-10
Spank Plugs-4

另一种实现方法:
 

复制代码 代码示例:
<?php
$prices=Array('Tries' => 100, 'Oil' => 10, 'Spank Plugs' => 4);
list($product, $price) = $each($prices);
echo "$product - $price";  //输出第一个数组
$next = $next($prices);   // 指针后移
echo $next;