Operator instanceof

Operator instanceof obyektin göstərilən sinfin və ya onun varisinin nümunəsi olub-olmadığını yoxlayır. Birinci parametr kimi obyekti, ikinci parametr kimi isə yoxlama üçün sinfin adını qəbul edir. Obyekt sinifə mənsubdursa true, əks halda isə false qaytarır.

Sintaksis

php$object instanceof ClassName;

Nümunə

Obyektin MyClass sinfinin nümunəsi olub-olmadığını yoxlayaq:

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

Kodun icra nəticəsi:

phptrue

Nümunə

Siniflərin miras alınmasını yoxlayaq:

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

Kodun icra nəticəsi:

phptrue

Nümunə

Obyektin sinfin nümunəsi olmadığını yoxlayaq:

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

Kodun icra nəticəsi:

phpfalse

Həmçinin bax

  • get_class funksiyası,
    obyektin sinfinin adını qaytarır
  • is_a funksiyası,
    obyektin sinifə mənsubiyyətini yoxlayır