Problem mit Arraybezeichnung

Kalito

Erfahrenes Mitglied
Hallo,

schreibe gerade an einem dynamischen Dropdown-Menü und bin da über folgendes Problem gestoßen.

Ich möchte gerne die Monate als Januar, Februar, ect anzeigen. Bisher hatte ich es immer so gemacht:
PHP:
$array = array("Januar","Februar","März","April","Mai","Juni","Julie","August","September","Oktober","November","Dezember");

for($i=0;$i<count($array);$i++){
           
  $contents[] = '<option value="'.$array[$i].'" '.$selected.'>'.$array[$i].'</option>';

}
Leider brauche ich jetzt anstatt Januar, Februar, ect. 01, 02, ect.
Aber irgendwie komme ich nicht vorwärts, es so zu lösen, das ich eigentlich nicht an 10 Ecken schrauben muss, da viel anderer Code auf diese Klasse zurückgreifen.

Danke
 
? Warum generierst Du nicht einfach aus der Variable der Schleife jenen Monat?
PHP:
for($i=0;$i<count($array);$i++)
{
  $monat = sprintf("%02d", $i+1 )
  $contents[] = '<option value="'.$monat.'" '.$selected.'>'.$monat.'</option>';
}
Was im Array drinsteht ist dann herzlich egal..

mfg chmee

Nachtrag* habe von yaslaw die Formatierung auf zwei Dezimalstellen übernommen, auf sprintf wäre ich nicht gekommen.
 
Zuletzt bearbeitet:
oder du machst einen sauberen Array Index= Monatsnummer. Dann kannst du den Übergabewert und den angezeigten Value unterschiedlich Handhaben
PHP:
$months = array(
        1 => "Januar",
        2 => "Februar",
        3 => "M&auml;rz"
        //TODO: Die restlichen Monate
);

foreach($months as $monthNr => $monthName){
    $formatedMonthNr = sprintf("%02d", $monthNr);
    $contents[] = "<option value='{$formatedMonthNr}' {$selected}>{$monthName}</option>";

}
 
Zurück