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