instanceof 연산자

연산자 instanceof는 객체가 지정된 클래스의 인스턴스인지 또는 그 자식인지 확인합니다. 첫 번째 매개변수로 객체를, 두 번째 매개변수로 확인할 클래스 이름을 받습니다. 객체가 클래스에 속하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

문법

php$object instanceof ClassName;

예시

객체가 MyClass 클래스의 인스턴스인지 확인해 보겠습니다:

php<?php
  class MyClass {}
  $obj = new MyClass();
  var_dump($obj instanceof MyClass);
?>

코드 실행 결과:

phptrue

예시

클래스 상속을 확인해 보겠습니다:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}
  
  $child = new ChildClass();
  var_dump($child instanceof ParentClass);
?>

코드 실행 결과:

phptrue

예시

객체가 클래스의 인스턴스가 아님을 확인해 보겠습니다:

php<?php
  class A {}
  class B {}
  
  $a = new A();
  var_dump($a instanceof B);
?>

코드 실행 결과:

phpfalse

함께 보기

  • 함수 get_class,
    객체의 클래스 이름을 반환합니다
  • 함수 is_a,
    객체가 클래스에 속하는지 확인합니다