2010-09-20 83 views
9

我需要遍历一个动态数组。该阵列将类似于以下内容:遍历数组获取键和值

Array 
(
    [2010091907] => Array 
     (
      [home] => Array 
      (
       [score] => Array 
       (
         [1] => 7 
         [2] => 17 
         [3] => 10 
         [4] => 7 
         [5] => 0 
         [T] => 41 
        ) 

       [abbr] => ATL 
       [to] => 2 
      ) 

     [away] => Array 
      (
       [score] => Array 
        (
         [1] => 0 
         [2] => 7 
         [3] => 0 
         [4] => 0 
         [5] => 0 
         [T] => 7 
        ) 

       [abbr] => ARZ 
       [to] => 2 
      ) 

     [weather] => 
     [media] => Array 
      (
       [tv] => FOX 
       [sat] => 709 
       [sathd] => 709 
       [radio] => Array 
        (
         [home] => 153 
         [away] => 90 
        ) 

      ) 

     [bp] => 13 
     [yl] => 
     [qtr] => Final 
     [down] => 0 
     [togo] => 0 
     [clock] => 00:26 
     [posteam] => ARZ 
     [note] => 
     [redzone] => 
     [stadium] => Georgia Dome 
    ) 

我需要它是动态的,用于测试目的,我需要能够通过调用它:

echo "Key: $key; Value: $value<br />\n";

我要去以后再把这些信息放到一个mysql数据库中,但现在我需要刷新数组并找出如何格式化数据。

任何帮助表示赞赏。

回答

19

我想去递归函数:如果一个值是一个数组,则再次调用它,否则显示键/值对。

喜欢的东西(未测试):

function display_array($your_array) 
{ 
    foreach ($your_array as $key => $value) 
    { 
     if is_array($value) 
     { 
      display_array($value); 
     } 
     else 
     { 
      echo "Key: $key; Value: $value<br />\n"; 
     } 
    } 
} 

display_array($some_array); 
+0

这肯定工作。我只需要弄清楚,如何使用这些信息,我可以将对象从数组中调出,例如“home”的值等。 – drewrockshard 2010-09-20 17:12:13

+0

我最初认为您可能想要获取各个键的值,但我忽略了它因为你有很多重复的按键,比如'home','away','to'等等。很高兴你能使用它! – jeroen 2010-09-20 18:04:29

+0

is_array救了我的屁股 – danielad 2015-03-25 13:51:18