Maison > développement back-end > tutoriel php > Objet de comparaison PHP

Objet de comparaison PHP

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-08-30 15:30:02
avant
1418 Les gens l'ont consulté

Objet de comparaison PHP

Introduction

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

Exemple

<?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;
   }
}
?>
Copier après la connexion

Deux objets de la même classe

Exemple

$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);
Copier après la connexion

Sortie

two objects of same class
using == operator : bool(true)
using === operator : bool(false)
Copier après la connexion

Deux références au même objet

Exemple

$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);
Copier après la connexion

Sortie

two references of same object
using == operator : bool(true)
using === operator : bool(true)
Copier après la connexion

Deux objets de classes différentes

Exemple

$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);
Copier après la connexion

Sortie

La sortie affiche le résultat suivant

two objects of different classes
using == operator : bool(false)
using === operator : bool(false)
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal