PHP4 a introduit un nouvel opérateur de comparaison : la notion d'identité.

L'opérateur d'égalité == vérifie si deux variables possèdent la même valeur. Si tel est le cas, la condition sera vérifiée (TRUE).

L'opérateur d'identité === permet d'aller plus loin. Il permet de vérifier si deux variables possèdent la même valeur ET si elles sont de même type.

Exemple :

<?php
$a=12;
$b="12";

echo "a vaut $a\n";
echo "a est de type ".gettype($a)."\n";
echo "b vaut $b\n";
echo "b est de type ".gettype($b)."\n";

if($a==$b)
        echo "a et b sont egaux\n";
else
        echo "a et b ne sont pas egaux\n";

if($a===$b)
        echo "a et b sont egaux et identiques\n";
else
        echo "a et b ne sont pas egaux et identiques\n";

?>
L'exécution de ce code retournera :

a vaut 12
a est de type integer
b vaut 12
b est de type string
a et b sont egaux
a et b ne sont pas egaux et identiques
En effet, si a et b sont bien initialisées à 12 (il y a donc égalité), a est de type entier et b de type chaine. Il n'y a donc pas identité.

Précisons pour finir qu'il est évidement possible de tester la non identité de deux variables a l'aide de !==. Une telle condition sera alors vérifiée(TRUE) si les deux variables ne possèdent la même valeur OU si elles ne sont pas de même type.

Consulter le lien