Seit PHP4 gibt es die Möglichkeit einen typsicheren Vergleich durchzuführen, dazu wird einfach ein weiterer Vergleichsoperator “=” angehängt. Neben dem reinen Wert wird somit auch der Typ verglichen, wodurch die Typ-Sicherheit verbessert wird. Das folgende PHP-Beispiel erscheint zwar trivial und soll zunächst nur mal den Unterschied verdeutlichen. Wichtig ist ein typsicherer Vergleich bei der Verwendung von eigenen Objekten und Validierung von Benutzereingaben.
[php]
<?php
$a = 1; // int
$b = "1"; // string
var_dump($a);
var_dump($b);
if($a == $b){
echo "Typ-unsicher!";
}
echo "\n";
if($a === $b){
}else{
echo "Typ-sicher!";
}
[/php]
Die Ausgabe ist:
[php]
int(1)
string(1) "1"
Typ-unsicher!
Typ-sicher!
[/php]
PHP typsicherer Vergleich: Ungleich und doch gleich
Die Erweiterung der Vergleichsoperatoren um Typsicherheit ist auch bei weiteren Vergleichen möglich, wie bspw. ungleich:
[php]
if($a != $b){
}else{
echo "A ist gleich B";
}
if($a !== $b){
echo "A ist ungleich B";
}
[/php]
Dieses Beispiel verdeutlicht nochmals was Typsicherheit bedeutet, A hat zwar den selben Wert wie B, aber die Variablen sind nicht vom selben Typ.
Eine Übersicht für alle PHP Vergleichsoperatoren gibt es bei PHP.net
Recent Comments