echo $begrüßung;
function h($val) {
$val = isset($val) ? htmlspecialchars($val) : '' ;
return $val;
}
Wenn du eine nicht vorhandene Variable zu übergeben versuchst, gibt es eine E_NOTICE. Wenn das bei dir nicht auftritt, dann ist das gut, denn dann hast du vermutlich alle verwendeten Variablen ordentlich initialisiert.
Liegt das nicht am „isset“? Mein Komplettes Script sieht wie folgt aus:
Das isset() kommt erst später zum Zug. Übergibt man ein nichtexistentes $foo, erfolgt zunächst eine Übergabe an $val, wofür eine Kopie erstellt werden muss und damit ein Lesezugriff stattfindet. Dieser wird mit E_NOTICE quittiert. Bei einer Übergabe per Referenz muss die Variable nicht vorhanden sein. Das isset() arbeitet in beiden Fällen wie erwartet. 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.
echo "$verabschiedung $name";