Das dreifache Gleichheitszeichen gehört zu den Vergleichsoperatoren in PHP, sein Name ist "Identisch" - wo hingegen das zweifache Gleichheitszeichen "Gleich" genannt wird.
Das $x == $y
ergibt nur true
, wenn der Wert von $x
dem Wert von $y
entspricht.
$x = 1; // Typ: int
$y = "1"; // Typ: string
if($x == $y)
{
// Vergleich ergibt true, hier wird nun Code ausgeführt
}
Das
$x === $y
ergibt nur
true
, wenn
Wert und Typ von
$x
und
$y
gleich sind.
$x = 1; // Typ: int
$y = "1"; // Typ: string
if ($x === $y)
{
// Vergleich ist false, Code wird nicht erreicht
// int !== string
}
Mit anderen Worten $x === $b
verlangt, dass beide Variablen vom Typ und Wert identisch sind.
if("5" == 5) // true
if("5" === 5) // false
Diesen Operator gibt es übrigens auch in Javascript und anderen Programmiersprachen, nicht nur in PHP :)