php 遍历多维数组方法

在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. foreach ($sports as $key => $value) {
  8. echo $key.": ".$value."<br />";
  9. }
  10. ?>

下面看遍历三维数组

例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. }
  13. }

例2代码如下:

  1. <?php
  2. /*
  3. * -------------------------------------------------
  4. * Url:www.phpfensi.com
  5. * Date:2011-03-09
  6. * -------------------------------------------------
  7. */
  8. function arr_foreach ($arr)
  9. {
  10. if (!is_array ($arr))
  11. {
  12. return false;
  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. }
  26. $arr1 = array (1=>array(11,12,13,14=>array(141,142)),2,3,4,5);
  27. echo '<pre>';
  28. print_r($arr1);
  29. echo '<pre>';
  30. arr_foreach ($arr1);
  31. ?>
  32. 输出结果
  33. Array
  34. (
  35. [1] => Array
  36. (
  37. [0] => 11
  38. [1] => 12
  39. [2] => 13
  40. [14] => Array
  41. (
  42. [0] => 141
  43. [1] => 142
  44. )
  45. )
  46. [2] => 2
  47. [3] => 3
  48. [4] => 4
  49. [5] => 5
  50. )

利用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. }
  10. ?>