>  기사  >  백엔드 개발  >  PHP 객체지향에서의 객체비교 사용법에 대한 자세한 설명

PHP 객체지향에서의 객체비교 사용법에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-04-17 14:38:491638검색

복제를 통해 $a = $b 및 $a = clone $b의 의미를 이해할 수 있습니다. 그러나 실제 응용에서는 여전히 두 개체 간의 관계가 복제인지 참조인지 확인해야 합니다. 이는 비교 연산자 "==" 및 "==="를 사용하여 수행할 수 있습니다.

연산자 "==" 및 "==="

비교 연산자(==) 를 사용하여 두 객체 변수를 비교할 때 And 합동 연산자(===) 를 사용하는 경우 이 두 객체 변수는 특정 유형의 동일한 인스턴스(즉, 동일한 객체)를 가리켜야 합니다.

아래 예를 살펴보겠습니다.

<?php
header("content-type:text/html;charset=utf-8");
class Dog{
public $type;
public $age;
function __construct($type,$age)
{
$this->type = $type;
$this->age = $age;
}
}
$dog1 = new Dog(&#39;二哈&#39;,&#39;2&#39;);
$dog2 = new Dog(&#39;二哈&#39;,&#39;2&#39;);
if($dog1 == $dog2){
echo &#39;<br/> $dog1 == $dog2&#39;;
}
if($dog1 === $dog2){
echo &#39;<br/>$dog1 === $dog2 &#39;;
}else{
echo &#39;<br/>他们不能全等&#39;;
}
echo &#39;<hr/>&#39;;
$dog3 = $dog1;
if($dog1 == $dog3){
echo &#39;<br/> $dog1 == $dog3&#39;;
}
if($dog1 === $dog3){
echo &#39;<br/>$dog1 === $dog3 &#39;;
}else{
echo &#39;<br/>他们不能全等&#39;;
}

분석 예:

먼저 개 클래스를 생성하고 class 에서 생성자를 만듭니다. 그런 다음 $dog1 및 $dog2라는 두 개의 동일한 클래스를 인스턴스화합니다. 그런 다음 인스턴스화된 두 클래스를 비교합니다. 먼저 비교 연산자 "=="를 사용하세요. 위에서 이 기호의 의미를 언급했습니다. 비교 연산자(==)를 사용하여 두 객체 변수를 비교할 때 비교 원칙은 다음과 같습니다. 두 객체의 속성과 속성 값이 동일하고 두 객체가 객체가 클래스의 동일한 인스턴스이면 두 객체 변수가 동일합니다. 우선 $dog1과 $dog2의 속성과 속성값이 동일하다고 판단하고, 둘째 둘 다 동일한 Dog-like 클래스의 인스턴스화 결과이므로 결과는 $dog1= =$개2. 그런데 다음 판단은 $dog1===$dog2 가 같을까요? "===" 연산자가 보유할 조건을 살펴보겠습니다. 합동 연산자(===)를 사용하는 경우 두 객체 변수는 특정 유형의 동일한 인스턴스(즉, 동일한 인스턴스)를 가리켜야 합니다. 물체). 이는 "===" 연산자의 양쪽에서 비교된 값이 동일한 객체인 경우에만 해당될 수 있습니다. $dog1과 $dog2는 두 개의 인스턴스이므로 동일하지 않으므로 "==="를 설정할 수 없습니다. 우리는 $dog3 = $dog1이라는 조건을 부여하고 동일한 방법을 사용하여 객체를 비교하고 판단하여 그것이 참인지 확인합니다. 위의 예시를 실행하여 결과를 확인할 수 있습니다.

위 내용은 PHP 객체지향에서의 객체비교 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.