程序员人生 网站导航

php 遍历多维数组方法

栏目:php教程时间:2014-01-26 02:45:37

在php中数组分类很多种,如一维数组,二维数组,三维或多维数组,下面我来给大家介绍php 遍历多维数组,有需要的朋友可参考。

在php遍历数组有三个函数foreach、each、list、each下面我们看它们是如何遍历多维数组的。

先看一个遍历二维数组,代码如下:

  1. <?php   
  2. $sports = array(   
  3.     'football' => 'good',   
  4.     'swimming' => 'very well',   
  5.     'running'  => 'not good'   
  6.     );   
  7.        
  8. foreach ($sports as $key => $value) {   
  9.     echo $key.": ".$value."<br />";   
  10. }   
  11. ?> 

下面看遍历三维数组

例1代码如下:

  1. function arr_fun($arr){ 
  2.        if(is_array($arr)){ 
  3.          foreach($arr as $v){ 
  4.             if(is_array($v)){ 
  5.             arr_fun($v); 
  6.             }else
  7.             echo $v."<br>"
  8.             } 
  9.          } 
  10.        }else
  11.          echo $arr."<br>"
  12.        } 

例2代码如下:

  1. <?php 
  2. /* 
  3. *  ------------------------------------------------- 
  4. *   Url:www.phpfensi.com 
  5. *   Date:2011-03-09 
  6. *  ------------------------------------------------- 
  7. */ 
  8. function arr_foreach ($arr)  
  9.  if (!is_array ($arr))  
  10.  { 
  11.   return false; 
  12.  } 
  13.  
  14.  foreach ($arr as $key => $val )  
  15.  { 
  16.   if (is_array ($val))  
  17.   { 
  18.    arr_foreach ($val); 
  19.   }  
  20.   else  
  21.   { 
  22.    echo $val.'<br/>'
  23.   } 
  24.  } 
  25. $arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5); 
  26. echo '<pre>'
  27. print_r($arr1); 
  28. echo '<pre>'
  29. arr_foreach ($arr1); 
  30. ?> 
  31. 输出结果 
  32. Array 
  33.     [1] => Array 
  34.         ( 
  35.             [0] => 11 
  36.             [1] => 12 
  37.             [2] => 13 
  38.             [14] => Array 
  39.                 ( 
  40.                     [0] => 141 
  41.                     [1] => 142 
  42.                 ) 
  43.         ) 
  44.     [2] => 2 
  45.     [3] => 3 
  46.     [4] => 4 
  47.     [5] => 5 

利用list与each遍历二维数组,代码如下:

  1. <?php 
  2. $sports = array
  3.     'football' => 'good'
  4.     'swimming' => 'www.phpfensi.com'
  5.     'running'  => 'not good' 
  6. ); 
  7. while (list($key$value) = each($sports)) { 
  8.     echo $key.": ".$value."<br />"
  9. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐