好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP 遍历数组语句总结(foreach,for,list,each) - php数组

PHP 遍历数组语句总结(foreach,for,list,each)

在php中遍历循环读出数组的方法有几种,foreach,for,list,each,while都是可以的,只是那种更适合用来遍历数组了。

foreach来访问,遍历的顺序是固定的么? 以什么顺序遍历呢?

比如:代码如下:

<?php  $colors =  array ( 'red' , 'blue' , 'green' , 'yellow' );  foreach  ( $colors   as   $color ){   //add your codes   }  ?> 

例2,代码如下:

$capitals =  array ( "Ohio" =>  "Columbus" , "Towa" =>  "Des Moines" , "Arizona" =>  "Phoenix" );  foreach ( $capitals   as    $key =>  $val ){  //add your codes   } 

while()

while() 通常和 list(),each()配合使用,实例代码如下:

<?php  $colors  =  array ( 'red' , 'blue' , 'green' , 'yellow' );  while (list( $key , $val ) = each( $colors )) {    echo   "Other list of $val.<br />" ;  }  ?>  /*   显示结果:   Other list of red.   Other list of blue.   Other list of green.   Other list of yellow.   */  

3. for(), 实例代码如下:

<?php  $arr  =  array  ( "0"  =>  "zero" , "1"  =>  "one" , "2"  =>  "two" );  for  ( $i  = 0; $i  <  count ( $arr );  $i ++) {    $str  =  $arr [ $i ];    echo   "the number is $str.<br />" ;  }  ?>  /*   显示结果:   the number is zero.   the number is one.   the number is two.   */  

以下是函数介绍:

key()

mixed key(array input_array)

key()函数返回input_array中位于当前指针位置的键元素。

实例代码如下:

<?php  $capitals  =  array ( "Ohio"  =>  "Columbus" , "Towa"  =>  "Des Moines" , "Arizona"  =>  "Phoenix" );  echo   "<p>Can you name the capitals of these states?</p>" ;  while ( $key  = key( $capitals )) {    echo   $key . "<br />" ;   next( $capitals );  //每个key()调用不会推进指针。为此要使用next()函数   }  ?>  /*结果如下   Can you name the capitals of these states?   Ohio   Towa   Arizona   */  

each() 函数遍历数组

例子1,代码如下:

<?php  $people  =  array ( "Peter" ,  "Joe" ,  "Glenn" ,  "Cleveland" );  print_r (each( $people ));  ?>  //输出:   //Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 )  

例子2,代码如下:

each() 经常和 list() 结合使用来遍历数组,本例与上例类似,不过循环输出了整个数组,代码如下:

<?php  $people  =  array ( "Peter" ,  "Joe" ,  "Glenn" ,  "Cleveland" );  reset( $people );  while  (list( $key ,  $val ) = each( $people ))    {     echo   "$key => $val<br />" ;    }  ?>  /*   输出:   0 => Peter   1 => Joe   2 => Glenn   3 => Cleveland   */  

多维数组的递归遍历,代码如下:

<?php  /*   *  -------------------------------------------------   *   Author :    *   Url    : HdhCmsTestphpfensi测试数据*   Date   : 2011-03-09   *  -------------------------------------------------   */   function  arr_foreach ( $arr )   {    if  (! is_array  ( $arr ))    {     return  false;   }      foreach  ( $arr   as   $key  =>  $val  )    {     if  ( is_array  ( $val ))     {     arr_foreach ( $val );    }      else      {      echo   $val . '<br/>' ;    }   }  }  $arr1  =  array  (1=> array (11,12,13,14=> array (141,142)),2,3,4,5);  echo   '<pre>' ;  print_r( $arr1 );  echo   '<pre>' ;  arr_foreach ( $arr1 );  ?>  /*   结果   Array   (       [1] => Array           (               [0] => 11               [1] => 12               [2] => 13               [14] => Array                   (                       [0] => 141                       [1] => 142                   )           )       [2] => 2       [3] => 3       [4] => 4       [5] => 5   )   11   12   13   141   142   2   3   4   5   */  

查看更多关于PHP 遍历数组语句总结(foreach,for,list,each) - php数组的详细内容...

  阅读:37次