• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mit 0 vergleichen

freakXHTML

Mitglied
Hallo zusammen,
wenn ich einer Variable 0 zuweise und sie danach darauf prüfen will, warum muss dies mit dem === Operator und nicht mit dem == Operator geschehen. Beispiel:
Code:
$size = getimagesize(...);
 if($size[0] > $size[1])
  $format = 0;
 
 
 echo '<div id="single_photo">';
 
 if($format === 0) //hier funktioniert der == Operator nicht! Warum?
Vielen Dank
lg, freakXHTML
 
In dem Fall tritt eine Typkonvertierung in Kraft, ich kenne die regeln von PHP aber nicht. In dem Fall ist es sowieso sinnvoller statt eines Vergleiches auf wahr/unwahr zu testen:

if($format) oder if(!$format) damit gibt es weniger Probleme und ist leichter lesbar (Wenn man das Ausrufezeichen als 'not' oder 'nicht' liest).
 
Es gibt nicht mehr Code, der wichtig wäre. Ich denke, es liegt wohl daran, dass $format manchmal nicht definiert ist. Danke für eure Hilfe.

lg, freakXHTML
 
Sinnvoll wäre es hier gewesen, $format unmittelbar aus dem Vergleich zu erstellen:

PHP:
$format= !($size[0] > $size[1]);
und dann eben später if($format) ....
 
Zurück
Oben