echo $begrüßung;
Ich will die Schlüssel und Werte eines Array in UTf-8 konvertieren.
Dann mach das doch. Genau so. Jeden Schlüssel und jeden Wert.
Also das ganze Array eben.
Am besten gleich beim Erstellen. Ansonsten musst du die Elemente mit den Nicht-UTF-8-Schlüsseln entfernen und neu mit UTF-8-Schlüsseln anlegen. Das bringt unter Umständen die Reihenfolge der Elemente durcheinander.
Zumindest für die Werte kannst du Funktionen verwenden, die alle Array-Elemente durchlaufen (z.B: array_map()).
Ich hab zuerst an utf8_encode() gedacht, aber das wandelt nur Strings um. Gibt es so eine Funktion auch für Arrays?
Die Elemente eines Arrays müssen nicht immer nur Strings sein. Auch Zahlen, boolsche Werte und komplexe Strukturen (Arrays, Objekte) können Werte eines Arrays sein. Darauf blind eine Stringfunktion anzuwenden, kann zur Unbrauchbarkeit der Werte führen.
echo "$verabschiedung $name";