当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-07 15:36:57 浏览: 评论:0 

在php中可以用来遍历数组的函数有很多,如有:for语句、list、each、foreach这四个函数,这也是在php中遍历数组的几个主要的函数,下面我来给大家介绍.

foreach遍历数组

我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数.这里先介绍foreach遍历数组函数的用法.

结构形式:

foreach ( array_expression as $value ) statement
/* array_expression是要遍历的数组
   as作用是将数组的值赋给$value
   statement是后续语句
 */ 

实例代码如下:

  1. <?php  
  2.  $color=array('white' => '白色' , 
  3.        'black' => '黑色' , 
  4.        'red' => '红色' , 
  5.        'green' => '绿色'
  6.        'yellow' => '黄色'); 
  7.  foreach$color as $cecho $c ."<br>";     
  8. ?> 

通过foreach不仅可以获得元素的值也可以获得键名,结构形式:

foreach ( array_expression as $key => $value ) statement 将以上实例中第7行的代码:

实例代码如下:

  1. foreach$color as $cecho $c ."<br>"
  2. 改为: 
  3. foreach$color as $key => $cecho $key.$c ."<br>"

each遍历数组

遍历数组是php数组操作一个重要的环节,除了前面提到的foreach函数,这里再介绍一个遍历数组的函数-each().用each()函数可以输出当前指针位置的键名和对应的元素值.可以使用”0″或”key”来访问键名(标识符),用”1″或”value”访问标识符对应的值.

实例代码如下:

  1. <?php  
  2.  $languages=array(1=>"php"
  3.     5=>"html"
  4.     10=>"css"); 
  5.  $a=each($languages); /* 第一次遍历数组 */   
  6.  echo $a[0] ."t"
  7.  echo $a[1] ."<br>";  
  8.  $a=each($languages); /* 第二次遍历数组 */ 
  9.  echo $a[key] ."t"
  10.  echo $a[value];     
  11. ?> 

list遍历数组

函数list可以在遍历数组时一次赋给变量,通常和each()函数配合使用.用list()函数使访问each()返回的键和值变得更加简单了.

实例代码如下:

  1. <?php  
  2.  $date=array(1=>"Monday"
  3.       2=>"Tuesday"
  4.       3=>"Wednesday"); 
  5.  list($key,$value)=each($date); /* 遍历函数 */ 
  6.  echo "$key $value" ."<br>"/* 输出第一个数组 */ 
  7.  $next=next($date);  /* 指针后移 */ 
  8.  echo "$next";   
  9. ?> 

ps:list()函数刚好与array()函数相反,array()将一系列数据构造成数组,而list()则将数组拆分成数据.

for遍历数组

除了php预定义的一些遍历数组函数,我们还可以利用for语句的循环特性将数组遍历输出.下面给出例子:

实例代码如下:

  1. <?php  
  2.  $a[]="张学友"/* 定义数组 */ 
  3.  $a[]="刘德华"
  4.  $a[]="黎明"
  5.  $a[]="郭富城"
  6.  $s=count($a); /* 统计数组个数 */ 
  7.  for($i=0;$i<$s;$i++){ /* 遍历数组 */ 
  8.   echo $a[$i] ."<br>"/* 显示数组 */ 
  9.  } 
  10. ?> 

Tags: list foreach each

分享到: