77 Stimmen

Unterschied zwischen zwei und drei Gleichheitszeichen bei Vergleichen

Frage von Gast | Letztes Update am 04.05.2021 | Erstellt am 07.01.2012

Ich habe neulich in einem Script einen Vergleich mit drei Gleichheitszeichen gefunden. Sonst sind mir aber immer nur zwei Gleichheitszeichen bekannt gewesen.

Meinen Tests zufolge macht es keinen Unterschied, ob man zwei oder drei Gleichheitszeichen nimmt. Was soll das ganze also?

AntwortenPositivNegativ
12Beste Antwort12 Stimmen

Sowohl der Operator == als auch der Operator === sind beides Vergleichsoperatoren.

  • Zwei Gleichheitszeichen schauen allerdings nur nach, ob die beiden verglichenen Variablen die gleichen Werte enthalten.
  • Drei Gleichheitszeichen dagegen überprüfen einerseits, ob die beiden Variablen die gleichen Werte enthalten und andererseits, ob auch die Typen der beiden Variablen identisch sind.

Dazu mal ein Beispiel:

// 3 Variablen mit identischen Werten
$a = 10;
$b = 10;
$c = 10;

// $a und $b vom Typ integer; $c vom Typ double
settype($a, integer);
settype($b, integer);
settype($c, double);

// Vergleich der Variablen
if ($a == $b) {}  // true
if ($a == $c) {}  // true
if ($a === $b) {} // true
if ($a === $c) {} // false 

Wir definieren 3 Variablen mit identischen Werten und casten die Variablen danach auf die Typen Integer oder Double. Anschließend vergleichen wir die Variablen paarweise.

Beim Vergleich mit den zwei Gleichheitszeichen bekommen wir jedes mal true heraus. Bei den drei Gleichheitszeichen bekommen wir nur true, wenn auch die Typen stimmen.
Letztes Update am 04.05.2021 | Erstellt am 08.01.2012

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Zeit und Performance messen

Tutorial | 0 Kommentare

Was ist das Genfer Schema?

Info | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.