echo $begrüßung;
"Alternativ gibt es noch array_multisort(), doch das erfordert eine andere Struktur der Daten, ein so genanntes Spalten-Array. Du hast jedoch ein Zeilen-Array vorliegen."
Damit habe ich schon getestet, indem ich alle Elemente einer Zeile in einem String abgespeichert habe und jeweils einen eindimensionalen Array zugewiesen haben.
Leider ist aber das Ergebnis falsch ;-)
Wenn du wirklich array_multisort() statt der einfacheren Variante mit der benutzerdefinierten Vergleichsfunktion verwenden möchtest, muss dein Array komplett umsortiert werden. Das lohnt sich meist nur dann, wenn man komplett die Philosophie wechselt und mit Spalten-Arrays statt Zeilen-Arrays arbeitet. Nur mal eben zum Sortieren, das Array umzubauen und dann wieder zurück ist zu aufwendig. Außerdem, das hatte ich bei meiner ersten Antwort nicht weiter beachtet, benötigst du dafür vergleichbare Daten. Für Jahr und Tag ist das aufgrund der Zahlenwerte gut möglich, aber beim Monatsnamen hast du schon mal schlechte Karten. Hier hilft sowieso nur eine eigene Vergleichsfunktion.
Die Monatsnummern kannst du übrigens so erhalten:
$monate = array(1 => 'Januar', 'Februar', 'März', ...'Dezember');
$monatsnummer = array_search($monate, $monatsname);
Wenn $monatsnummer === false ist, war der Monatsname falsch geschrieben.
echo "$verabschiedung $name";