bubble: ... find ich doof. Wer noch? [php Vergleichsoperator]

Beitrag lesen

erzeugt:

is empty string
statt

Vorweg, null,"",0, unter Umständen auch "0" wird von PHP teilweise als false interpretiert.
Bei deinem Beispiel ist es so, dass 2 verschiedene Datentypen vorliegen und PHP einen der beiden Werte umwandeln muss um vergleichen zu können.

Wenn du $var = null setzt und mit "" vergleichst, ist das der Fall. Um das zu umgehen müsstest du typsicher vergleichen, also den "==="-Operator verwenden.

Kleines Beispiel:

<?php  
	var_dump("",null,""==null,""===null,0,false,0==false,""==0,""===0);  
	if("0")  
		print "\n\"0\" wird als true interpretiert.";  
	else  
		print "\n\"0\" wird als false interpretiert.";  
?>

gibt folgendes aus:

string(0) ""  
NULL  
bool(true)  
bool(false)  
int(0)  
bool(false)  
bool(true)  
bool(true)  
bool(false)  
  
"0" wird als false interpretiert.

MfG
bubble