dedlfix: Fehlerbehandlung in PHP mit MySQL

Beitrag lesen

echo $begrüßung;

Ich arbeite eher selten mit Konstanten, weiss daher nicht wirklich, wann sie angebracht sind.

Werte, die einmalig gesetzt (berechnet) werden sollen und dann unverändert zur Verfügung stehen sollen, Konfigurationsparameter beispielsweise, sind gute Kandidaten. Beispielswiese für die Zugangsdaten für ein DBMS sind Konstanten gut geeignet.

» Der Grund für die Meldung ist jedenfalls, dass array_pop() ein Array per Referenz bekommen möchte. Referenzen gibt es aber nur auf Variablen.
Das allerdings verstehe ich nicht so ganz; ich hatte aufgrund der Fehlermeldung das Konstrukt testweise umgeschrieben auf Variablen, sprich auf die defines verzichtet, die Meldung kam aber trotzdem, oder habe ich dich jetzt nur falsch verstanden?

Das define() macht keine Probleme. array_pop(explode()) ist das beanstandete Konstrukt. explode() liefert ein Ergebnis zurück. Seine Aufgabe ist anschließend beendet und es hält keine Referenz mehr auf das Ergebnis. array_pop() will das übergebenen Array verändern und braucht eine Referenz darauf, nicht nur dessen Daten.

echo "$verabschiedung $name";