소개
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)