Оператори 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,
    ки тафтиши тааллуқи объект ба синфро иҷро мекунад