Hallo Leute
Ich verstehe zwar nicht viel von PHP, also fast nichts,[...]
Ich auch.
[...] und ich würde Sagen das der Vergleich $a==0 nicht funktioniert da "test" ein String und 0 eine Zahl (Integer) ist.
Daran dachte ich auch.
Versuch mal folgendes if($a == "0")
Halt. Stop. Was soll das in Worten heissen? Wenn $a == "0" stimmt, dann ist doch $a irgend ein String (hier "0") und das wäre nur der Fall, wenn vorher $a genau dieser String zugewiesen worden wäre (durch $a = "0"). In diesem Fall wäre doch $a mit dem Wert "0" initialisiert und damit auch definiert.
Dess weiteren: Wann ist (!$a) == true?
Ist das, wenn...
a) ... $a delkariert, jedoch noch nicht definiert ist.
b) ... $a deklariert, definiert, jedoch noch nicht initialisiert ist.
c) ... $a == "" bzw. $a == 0 bei Zahlen ist.
Hab den durchblick nicht so ganz. Werde es jedoch gleich mit anderen Sprachen austesten.
MfG
Tom2