echo $begrüßung;
Jetzt habe ich es noch mal probiert und merke, dass ich bei dem 2. Zugaben array das Dollarzeichen vor key vergessen hatte.
Dann stell doch nun das error_reporting auf E_ALL, das weist dich unter anderem auf solche Fehler hin.
Voraussetzung in dem Fall wäre jedoch, dass du das key ohne Anführungszeichen da stehen hättest. PHP gibt dann eine Notice-Meldung aus, die sich darüber beklagt, dass es keine Konstante dieses Namens finden konnte und nun von einem Stringwert ausgeht. Diese Meldung wäre zwar vielleicht verwirrend für dich gewesen, aber dann hättest du möglicherweise noch mal genauer hingeschaut und den fehlenden Dollar gesehen.
Mitunter sieht man ja den von Anfängern gern übernommenen Unsinn, Variablennamen anführungszuzeichnen. Ohne das $ wäre daraus ein normaler String geworden und PHP hätte nichts zu beanstanden gehabt.
Hier mal alle Möglichkeiten (die mir grad einfallen)
$array[key] - falsch, wenn key keine definierte Konstante ist.
$array['key'] - key ist ein als solcher gekennzeichneter String
$array["key"] - dito.
$array[$key] - $key ist eine Variable
$array["$key"] - Unfug. Ergibt nichts anderes als $array[$key], das aber mit mehr Parser-Aufwand
$array['$key'] - ein String. $key wird zwischen einfachen Anführungszeichen nicht als Variable erkannt
Das error_reporting lässt sich auf mehrere Arten aktivieren.
- Quick aber dirty: Funktion error_reporting() im Script aufrufen
- PHP läuft als Apache-Modul: am besten in der .htaccess setzen, das wirkt dann (projekt)verzeichnisspezifisch:
php_value error_reporting xxx
Hier lässt sich keine PHP-Konstante verwenden, es muss ein Zahlenwert statt der E_*-Konstanten verwendet werden: 30719 (PHP 5.3), 6143 (PHP 5.2), 2047 (Versionen davor) - in der php.ini
echo "$verabschiedung $name";