+1 Daumen
727 Aufrufe

Ein paar meiner Kollegen verwenden zum Vergleichen von Variablen statt == den PHP-Operator ===, der mir noch unbekannt ist. Ich habe damit ein wenig herumprobiert, aber die Vergleiche sind nicht immer eindeutig (false/true).

Wie wird dieser Vergleichsoperator richtig definiert? Was bedeutet ===?

Avatar von

1 Antwort

+3 Daumen

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 :)

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community