Unterschied zwischen den == und den === Vergleichsoperatoren in PHP

Subodh Poudel 30 Januar 2023
  1. Vergleichen Sie einen Integer-Wert und einen Gleitkommawert mit dem Double (==) und Triple (===)-Gleich-Vergleichsoperator in PHP
  2. Vergleichen Sie einen Integer-Wert und einen Booleschen Wert mit dem Double (==) und Triple (===)-Gleich-Vergleichsoperator in PHP
  3. Vergleichen Sie einen Integer-Wert und einen String-Wert mit dem Double- und Triple-Equals-Vergleichsoperator
Unterschied zwischen den == und den === Vergleichsoperatoren in PHP

In diesem Artikel wird der Unterschied zwischen den Vergleichsoperatoren == und den Vergleichsoperatoren == in PHP vorgestellt. Der wesentliche Unterschied besteht darin, dass der Vergleichsoperator doppelt gleich den Wert der beiden Operanden vergleicht. Im Gegensatz dazu vergleicht der Vergleichsoperator dreifach gleich den Wert und den Typ der Operanden.

Wir werden eine Methode vorstellen, um den Vergleichsoperator doppelt gleich und dreifach gleich zu unterscheiden, indem ein ganzzahliger und ein Gleitkommawert verglichen werden. Als bedingte Anweisung verwenden wir den ternären Operator.

Die zweite Methode vergleicht die Vergleichsoperatoren Doppel gleich und Dreifach gleich mit einem ganzzahligen und einem booleschen Wert. Wir werden in dieser Methode auch den ternären Operator verwenden.

Wir demonstrieren auch den Vergleich eines Integer-Werts und einer Zeichenkette mit Double-Equals und dem Triple-Equals-Vergleichsoperator. Wir verwenden die Funktion var_dump(), um den Vergleich in dieser Methode zu dumpen.

Vergleichen Sie einen Integer-Wert und einen Gleitkommawert mit dem Double (==) und Triple (===)-Gleich-Vergleichsoperator in PHP

Wir können die beiden gleichen Werte unterschiedlicher Typen mit den Vergleichsoperatoren vergleichen. Diese Methode vergleicht eine Ganzzahl und eine Gleitkommazahl, die denselben Wert haben. Wir können den ternären Operator verwenden, um die Operanden zu vergleichen, und die Funktion var_dump(), um ihre booleschen Werte auszugeben.

Erstellen Sie beispielsweise eine Variable $a und speichern Sie darin den ganzzahligen Wert 5. Speichern Sie einen Gleitkommawert 5.0 in einer anderen Variablen $b. Vergleichen Sie die beiden Variablen mit dem dreifachen Vergleichsoperator unter Verwendung des ternären Operators. Der true-Wert gibt true zurück, der falsche Wert false im ternären Operator. Speichern Sie die Operation in der Variablen $c. Vergleichen Sie auf ähnliche Weise die beiden Variablen mit dem doppelten Gleichheitsoperator mit dem ternären Operator und speichern Sie die Operation in der Variablen $d. Verwenden Sie die Funktionen var_dump() in den Variablen $c und $d.

Die Ausgabe des Codebeispiels gibt den Wert false für den Triple-Equals-Operator und den Wert true für den Double-Equals-Operator zurück. Der Wert 5 ist vom Typ Integer und der Wert 5.0 vom Typ Float, obwohl der Wert gleich ist. Daher gibt der Triple-Equals-Operator einen falschen Wert und der Double-Operator einen truey-Wert zurück.

Beispielcode:

#php 7.x 
<?php
$a = 5; 
$b = 5.0; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Ausgabe:

bool(false) bool(true)

Vergleichen Sie einen Integer-Wert und einen Booleschen Wert mit dem Double (==) und Triple (===)-Gleich-Vergleichsoperator in PHP

Diese Methode vergleicht einen ganzzahligen Wert 1 und den booleschen Wert true. Der ganzzahlige Wert 1 bezeichnet den Wahrheitswert. Wir können den ternären Operator wie in der ersten Methode verwenden. Speichern Sie beispielsweise den ganzzahligen Wert 1 in einer Variablen $a. Erstellen Sie eine weitere Variable $b und speichern Sie darin einen booleschen Wert true. Verwenden Sie den ternären Operator, um diese beiden Variablen wie in der ersten Methode zu vergleichen. Vergleichen Sie die Variablen mit dem Vergleichsoperator doppelt gleich und dreifach gleich. Speichern Sie die Ergebnisse in den Variablen $c und $d und verwenden Sie die Funktionen var_dump(), um diese Variablen zu dumpen.

Die Variable $c gibt den falschen Wert zurück und der Wert $d gibt den Wahrheitswert zurück. Da der Triple-Equals-Operator den Typ der Operanden vergleicht, ist es offensichtlich, dass der Typ von 1 und true nicht übereinstimmt. Aber der Wert 1 ist der wahrheitsgetreue Wert, also ist sein Wert der gleiche wie der boolesche Wert true.

Beispielcode:

#php 7.x 
<?php
$a = 1; 
$b = true; 
$c = $a===$b ? true : false;
$d = $a==$b ? true : false;
var_dump($c);
var_dump($d);
?>

Ausgabe:

bool(false) bool(true)

Vergleichen Sie einen Integer-Wert und einen String-Wert mit dem Double- und Triple-Equals-Vergleichsoperator

Wir können die Operanden direkt in der Funktion var_dump() vergleichen, um das Ergebnis des Vergleichs zu sehen. Diese Methode ist die Kurzform der Methoden, die die ternären Operatoren verwenden. Die folgende Abbildung vergleicht einen Integer-Wert und einen String-Wert unter Verwendung der Vergleichsoperatoren Triple-Equals und Double-Equals.

Erstellen Sie beispielsweise eine Variable $a und speichern Sie darin den ganzzahligen Wert 5. Speichern Sie einen Stringwert '5' in einer anderen Variablen $b. Vergleichen Sie diese beiden Variablen zuerst mit dem Dreifach-Gleichheits-Vergleichsoperator und dann mit dem Doppel-Gleichheitsoperator. Wickeln Sie diese Vergleiche in die var_dump()-Funktionen.

Der erste Vergleich führt zu einem falschen Wert. Der zweite Vergleich gibt den Wahrheitswert zurück. Der Typ der beiden Variablen stimmt nicht überein, daher ergibt sich ein falscher Wert. Der String-Wert 5 wird in einen Integer-Wert umgewandelt, und der Wert für beide Variablen ist gleich. Der Typ der Variablen ändert sich jedoch nicht.

Beispielcode:

#php 7.x 
<?php
$a = 5; 
$b = '5';
var_dump($a===$b);
var_dump($a==$b);
?>

Ausgabe:

bool(false) bool(true)
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Verwandter Artikel - PHP Operator