dedlfix: PHP konfigurieren

Beitrag lesen

Tach!

if(test) echo "test existiert";


> ich kann beim besten Willen nicht nachvollziehen, warum dieser Ausdruck wahr sein sollte.. aber gut. Ich muss das Konzept verstehen.  
  
Diesen Willen solltest du aber aufbringen, wenn du eine Programmiersprache einsetzen möchtest oder musst. Es ist einfacher, mit den Gegebenheiten eines Systems eine Lösung zu finden, als gegen es zu arbeiten.  
  
Das PHP-Konzept sieht hier vor, dass der Anfänger vermutlich nur die Anführungszeichen vergessen hat und das wohl ein String sein soll. So sagt es ja auch die Meldung: Use of undefined constant test - assumed 'test'. Dieser String evaluiert im booleschen Kontext zu true, und damit ist die Bedingung erfüllt.  
  
Diese Automatismen sollte man kennen, damit man nicht darüber stolpert. Im Wesentlichen ist es die automatische Typumwandlung. Was kommt raus, wenn bestimmte Werte (zum Beispiel Strings) in booleschen oder numerischen Kontext gebracht werden? Diese Umwandlung erfolgt stillschweigend. Dazu gibt es eine Tabelle im Manual-Anhang [PHP type comparison tables](http://www.php.net/manual/en/types.comparisons.php).  
  
  
dedlfix.