Hi,
echo "$monat[$monatsname]";
Ist es erlaubt, anstatt dieses Scripts folgendes zu schreiben?
echo "$monat[date('F')]"
ja, das ist erlaubt - vom fehlenden Semikolon abgesehen. Hauptsache, in den [Klammern] steht ein Ausdruck, der einen gültigen Key ergibt. Ob der als Konstante im Quelltext steht, aus dem Inhalt einer Variablen oder als komplizierter Ausdruck mit einem Funktionsaufruf gebildet wird, ist schnurz.
Viel heftiger stolpere ich bei deinem Codebeispiel wieder mal über die Unsitte, einzelne Variablen beim echo wieder in Anführungszeichen zu setzen. Warum machen das so viele? Was soll der Unsinn? Das macht's doch nur komplizierter.
Davon abgesehen würde ich in deinem Fall raten, nicht Strings (Monatsnamen) als Schlüssel zu verwenden, sondern Zahlenwerte von 1=>"Januar" bis 12=>"Dezember". Ich kenne deinen konkreten Anwendungsfall nicht, halte das mit dem numerischen Index aber für praktischer, weil das Datum ja meistens sowieso numerisch gespeichert wird.
So long,
Martin
Idealismus wächst mit der Entfernung zum Problem.