Hello,
PHP stellt fest, dass die benannte Konstante test nicht existiert und nimmt deshalb an, du hättest stattdessen den String 'test' gemeint. Nach der internen Fehlerkorrektur lautet der Ausdruck also
if ('text')
, und der ergibt true. Das muss man nicht gut finden, aber wohl akzeptieren.
Es geht um den Fall, dass der Entwickler vor der Variable test das bei PHP nötige $ vergessen hat. Ich finde das keinen ungewöhnlichen Eingabefehler, zumindest für Leute, die von anderen Sprachen kommen.
Völlig richtig, deswegen sollte man solche Notices auch ernst nehmen und sie während der Entwicklungs- und Testphase auch immer anzeigen lassen.
Deswegen sollte man in PHP boolesche Abfragen, von denen das Leben (des Servers) abhängt auch grundsätzlich als Äquivalenzabfragen ausführen
if (test === true)
{
echo "test exisistert";
}
else
{
echo "Ey you proggiman! Are you foolish?";
}
ergibt dann
Notice: Use of undefined constant test - assumed 'test' in M:\USER\TOM\WebProgTests\Xampp\variables\types.php on line 22
Ey you proggiman! Are you foolish?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg