Différence entre == et === en PHP

Lorsque vous comparez des valeurs en PHP pour l’égalité, vous pouvez utiliser soit l’opérateur == soit l’opérateur ===. Donc quelle est la différence entre les deux? C’est assez simple. L’opérateur == vérifie simplement si la valeur à gauche et à droite sont égales. Mais, l’opérateur === vérifie en fait si les valeurs à gauche et à droite sont égales, et vérifie également si elles sont du même type de variable.
 
 
C’est important de savoir la différence entre les deux types d’opérateurs qui vérifient l’égalité. Aussi il est important de savoir quand et pourquoi vous devez utiliser l’opérateur === et pas l’opérateur ==. Pour cela nous allons regarder quelques exemples.
 

Opérateur ==

Cet opérateur compare deux valeurs et renvoie la valeur « true » si les deux valeurs sont égales (il compare uniquement la valeur de la variable, pas les types) et renvoie la valeur « false » si les deux valeurs ne sont pas égales.
 
Exemple:

<?php 
$a = 123; //valeur de type int

$b = '123'; //valeur de type string
  
// Comparer $a et $b 
if ($a == $b) 
    echo 'Sont égales'; 
else
    echo 'Ne sont pas égales'; 
?>

 
Sortie:

Sont égales

Dans l’exemple ci-dessus, l’opérateur == compare uniquement les valeurs de $a et $b mais pas les types, donc il affiche le message « Sont égales ».
 
 

Opérateur ===

Cet opérateur permet une comparaison beaucoup plus stricte entre les variables. Cet opérateur renvoie « true » si les deux variables contiennent les mêmes informations et les mêmes types, sinon retournent « false ».
 
Exemple:

<?php 
$a = 123; //valeur de type int

$b = '123'; //valeur de type string
  
// Comparer $a et $b 
if ($a === $b) 
    echo 'Sont identiques'; 
else
    echo 'Ne sont pas identiques'; 
?>

 
Sortie:

Ne sont pas identiques

Dans l’exemple ci-dessus, les valeurs de $a et $b sont égales mais les types sont différents, donc il affiche le message « Ne sont pas identiques ».
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *