echo $begrüßung;
Wenn das nicht vorhandene $foo nach $val kopiert wird, ist der Inhalt von $val null, was zwar von isset() ebenfalls als "nicht existent" angesehen wird, jedoch im Prinzip nicht ganz richtig ist.
"is set" wäre doch "ist gesetzt", oder?
Für eine Variable mit dem Inhalt null ergibt isset() false.
var_dump(isset($foo));
var_dump($foo);
$bar = $foo;
var_dump(isset($bar));
var_dump($bar);
$qux = null;
var_dump(isset($qux));
var_dump($qux);
Ergebnis:
bool(false) - Variable $foo existiert nicht
Notice: Undefined variable: foo in … - Lesezugriff ergibt Notice
NULL - und als Ergebnis null
Notice: Undefined variable: foo in … - Kopieren der nichtexistenten $foo ergibt Notice
bool(false) - isset() auf $bar ergibt false
NULL - $bar ist vorhanden, es gab keine Notice
bool(false) - definierte Zuweisung von null an $qux, sie ist also da
NULL - Variable existiert, keine Notice beim Zugriff
Fazit: Vorhandene Variablen ergeben mit isset() kein true, wenn sie NULL enthalten. Sie sind aber in PHPs interner Variablentabelle eingetragen.
Für die meisten Wald- und Wiesen-Anwendungen ist das nicht relevant, da sie auf Inhalte von EGPCS testen, da kommt null nicht vor.
echo "$verabschiedung $name";