echo $begrüßung;
... was aus irgend einem grunde auch nicht so wollte wie ich...
Für die Fehlersuche im Allgmeinen ist es sinnvoll, einzelne Ausdrücke daraufhin zu testen, ob sie das gewünschte Ergebnis bringen. Dazu eignet sich var_dump() recht gut, weil das auch den Typ des Ergebnisses anzeigt.
$c = !$a == $b;
Hier sollte eingentlich erreicht werden, $a mit $b zu vergleichen,
zu testen mit: var_dump($a == $b);
und dann soll negiert werden:
das sollte dann das entgegengesetzte Ergebnis liefern: var_dump(!$a == $b);
Mit verschieden durchprobierten Eingangswerten sollte man feststellen können, dass das Erwartung und Ergebnis nicht oder nicht immer übereinstimmen.
Wenn man sich mal nicht über die Operatorenrangfolge im Klaren ist, bzw. der Ausdruck nicht so will, wie man selbst, kann man ihn mit Klammern zu bezwingen versuchen.
echo "$verabschiedung $name";