2010-12-14 3 views
0

Ich habe ein ArrayAssoziatives Array: Wie kann den Schlüssel des aktuellen Elements erhalten, die ein Array ist

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

Wie bekomme ich das Jahr, damit ich das folllowing mit ungeordneter Liste erzeugen kann

2006 
    December 
2004 
    December 
    June 
+0

http://php.net/manual/en/function.array-keys.php könnten Sie – mrwooster

+1

helfen Warum ist Ihre Daten auf diese Weise organisiert? –

+0

Versuchen Sie, Daten in eine Datenbank zu stellen. – thejh

Antwort

0

können Sie versuchen:

$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"; 
0

ziemlich sicher, dass Sie

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

Oder etwas ziemlich ähnlich verwenden können. Es ist eine Weile her, seit ich PHP benutzt habe.

+0

foreach ($ array als $ key => $ wert) { –

+0

Nein, das ist falsch. Um ein einfaches assoziatives Array zu durchlaufen, ist es 'foreach ($ array als $ key => $ value) {}'. Python hat dich verwöhnt, mein Freund: D –

1

Hier ist Ihre ungeordnete Liste:

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>'; 
    } 

die Monate Unter der Annahme gespeichert sind 1 für Januar und 12 für Dezember. Daher die $m - 1.

Verwandte Themen