Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 비교 객체

<시간/>

소개

PHP에는 비교 연산자가 있습니다 == 이를 사용하여 두 객체 변수의 간단한 비교를 수행할 수 있습니다. 둘 다 같은 클래스에 속하고 해당 속성의 값이 같으면 true를 반환합니다.

PHP의 === 연산자는 두 개체 변수를 비교하고 동일한 클래스의 동일한 인스턴스를 참조하는 경우에만 true를 반환합니다.

이러한 연산자와 객체를 비교하기 위해 다음 두 클래스를 사용합니다.

예시

<?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\n";
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\n";
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\n";
echo "using == operator : ";
var_dump($a==$d);
echo "using === operator : ";
var_dump($a===$d);

출력

출력은 다음 결과를 보여줍니다.

two objects of different classes
using == operator : bool(false)
using === operator : bool(false)