dedlfix: if mit ===

Beitrag lesen

Hi!

$content = $_GET['content'];

if($content === "maps")


> In deinem Beispiel sind beide Operanden Strings, ein typsicherer Vergleich bringt also keinen zusätzlichen Gewinn.  
  
Für das Beispiel nicht, aber beim Vergleich mit Leerstring ergibt sich ein Unterschied im Zusammenhang mit obiger Umkopieraktion oder auch beim direkten Vergleich von $\_GET['content'] und Leerstring. Wenn $\_GET['content'] nicht existiert, ergibt ein Lesezugriff nicht nur eine normalerweise unterdrückte Notice-Meldung sondern auch null als Wert. Der ist zwar == "" aber nicht === "". Das könnte man ausnutzen, um auf das Nicht-Vorhandensein eines Parameters zu testen, aber das wäre nicht sehr intuitiv lesbar - dann lieber isset() verwenden.  
  
Dann gab es da noch den Einwand mit dem Array - der ist nicht weiter relevant, weil es keinen Unterschied zwischen == und === gibt. Beim [Vergleich](http://de.php.net/manual/en/types.comparisons.php) eines Arrays mit einem String kommt immer false raus.  
  
  
Lo!