关联数组:如何获取当前元素的关键字是一个数组

时间:2010-12-14 16:25:53

标签: php

我有一个数组

Array ( 
      [0] => Array ( [2006] => Array ( [0] => 12 ) )
      [1] => Array ( [2004] => Array ( [0] => 12 [1] => 6 ) )
) 

如何获得年份,以便我可以使用无序列表生成以下内容

2006
    December
2004
    December
    June

3 个答案:

答案 0 :(得分:1)

这是您的无序列表:

foreach ($array as $year => $months)
    {
        printf('%04d: <ul>', $year);

        foreach ($months as $m)
            {
                $tm = mktime(0,0,0,$m - 1,1);
                print strftime('<li>%B</li>', $tm);
            }

        print '</ul>';
    }

假设存储的月份为1月份为1月份,12月份为12月份。因此$m - 1

答案 1 :(得分:0)

很确定你可以使用

foreach($key, $value in $array) {
}

或类似的东西。自从我使用PHP以来已经有一段时间了。

答案 2 :(得分:0)

您可以尝试:

$arr = Array(
  0 => Array(
    2006 => Array(
      0 => 12
    )
  ),
  1 => Array(
    2004 => Array(
      0 => 12,
      1 => 6
    )
  )
) ;

echo "<ul>\n";
foreach ($arr as $elem) {
  foreach ($elem as $year => $months) {
    echo "<li>$year\n<ul>\n";
    foreach ($months as $num => $month) {
        echo strftime("<li>%B</li>\n", mktime(0, 0, 0, $month));
    }
    echo "</ul>\n</li>\n";
  }
}
echo "</ul>\n";