>  기사  >  백엔드 개발  >  객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

WBOY
WBOY원래의
2021-10-26 17:00:034471검색

이전 글에서는 "PHP에는 추상 클래스와 추상 메소드가 무엇인지 이해해야 합니다"라는 글을 올렸는데, 여기서는 PHP의 추상 클래스와 추상 메소드에 대한 관련 지식을 자세하게 소개한 글입니다. PHP에서 객체가 클래스에 속하는지 확인하는 방법이 모든 사람에게 도움이 되기를 바랍니다!

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

PHP에서 객체가 클래스에 속하는지 확인하려면  instanceof ,使用instanceof 키워드를 사용하여 객체가 클래스의 인스턴스인지, 클래스의 하위 클래스인지, 아니면 특정 클래스를 구현하는지 확인해야 합니다. 인터페이스하고 해당 작업을 수행합니다. 객체가 특정 클래스에 속하는지 여부를 확인하는 데 사용할 수 있습니다. 구문 형식은 다음과 같습니다.

对象名 instanceof 类名;

객체가 특정 클래스에 속하는지 여부를 판단합니다.

객체가 속하는지 여부를 판단하려는 경우 특정 클래스를 전달한 다음 구문 형식에 따라 객체가 이 클래스에 속하면 true를 반환하고, 이 클래스에 속하지 않으면 false를 반환합니다.

다음으로, 객체가 특정 클래스에 속하는지 확인하기 위해 예를 사용해 보겠습니다. 예시는 다음과 같습니다.

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

출력 결과:

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

위 결과에서 알 수 있듯이 감지된 객체는 학습 클래스에 속하며 반환된 결과는 감지된 객체가 속하지 않습니다. Study1 클래스에 반환되므로 false가 반환됩니다. 따라서 objectof가 특정 클래스에 속하는지 여부를 확인하는 데 사용할 수 있습니다.

객체가 특정 상위 클래스의 하위 클래스에 속하는지 확인

위의 사례를 통해 객체가 클래스에 속하는지 여부를 확인할 수 있을 뿐만 아니라 인스턴스 오브를 통해 다음 작업도 수행할 수 있습니다. 개체가 특정 상위 클래스의 하위 클래스에서 상속되는지 여부를 확인합니다. 마찬가지로 검색된 개체가 이 상위 클래스의 하위 클래스에 속하는 경우 검색된 개체가 이 상위 클래스의 하위 클래스에 속하지 않는 경우 반환된 결과는 true입니다. 반환된 결과는 false입니다.

다음으로 예제를 살펴보겠습니다.

<?php
    class study{
    }
    class study1 extends study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

출력 결과:

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

위 결과에서 볼 수 있듯이, object.instanceof를 사용하여 개체 여부를 확인할 수도 있습니다. 부모 클래스의 자식입니다.

객체가 인터페이스 객체에 속하는지 확인하려면

instanceof를 사용하여 변수가 인터페이스를 구현하는 객체인지 확인할 수도 있습니다. 위의 경우에도 마찬가지입니다. true - 객체가 이 인터페이스에 속함을 나타냅니다. 출력 결과가 false인 경우 객체가 이 인터페이스에 속하지 않음을 의미합니다.

예제를 살펴보겠습니다.

<?php
    interface study{
    }
    class study1 implements study{
    }
    $obj = new study1;
    var_dump($obj instanceof study);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof study1);
?>

출력 결과:

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

위 예에서는 변수가 특정 인터페이스의 객체인지 여부를 확인하는 데 사용됩니다.

판정되는 객체가 존재하지 않는 경우

주의해야 할 또 다른 상황이 있습니다. 테스트 중인 변수가 객체가 아닌 경우 반환되는 결과에 변화가 있을까요? 어떤 영향이 있나요? instanceof는 오류를 보고하지 않지만 flase를 직접 반환합니다.

다음과 같은 예를 살펴보겠습니다.

<?php
    class study{
    }
    class study1{
    }
    $obj = new study;
    var_dump($obj instanceof test);
    echo &#39;<br>&#39;;
    var_dump($obj instanceof demo);
?>

출력 결과:

객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?

위 예에서 볼 수 있듯이 모니터링되는 변수는 개체가 아니며 시스템에서 보고하지 않습니다. 오류가 발생했지만 flase를 반환합니다.

관심이 있으시면 "PHP 비디오 튜토리얼"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다.

위 내용은 객체가 PHP의 클래스에 속하는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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