PHP a un opérateur de comparaison==, qui peut être utilisé pour effectuer une comparaison simple de deux variables d'objet. Renvoie vrai si les deux appartiennent à la même classe et que les valeurs des propriétés correspondantes sont les mêmes.
L'opérateur === de PHP compare deux variables d'objet et renvoie vrai si et seulement si elles font référence à la même instance de la même classe
Nous utilisons les deux classes suivantes pour comparer des objets avec ces opérateurs
<?php class test1{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } class test2{ private $x; private $y; function __construct($arg1, $arg2){ $this->x=$arg1; $this->y=$arg2; } } ?>
$a=new test1(10,20); $b=new test1(10,20); echo "two objects of same class"; echo "using == operator : "; var_dump($a==$b); echo "using === operator : "; var_dump($a===$b);
two objects of same class using == operator : bool(true) using === operator : bool(false)
$a=new test1(10,20); $c=$a; echo "two references of same object"; echo "using == operator : "; var_dump($a==$c); echo "using === operator : "; var_dump($a===$c);
two references of same object using == operator : bool(true) using === operator : bool(true)
$a=new test1(10,20); $d=new test2(10,20); echo "two objects of different classes"; echo "using == operator : "; var_dump($a==$d); echo "using === operator : "; var_dump($a===$d);
La sortie affiche le résultat suivant
two objects of different classes using == operator : bool(false) using === operator : bool(false)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!