Instanceof operator

Instanceof operator obýektiň görkezilen klassyň ýa-da onuň mirasçysynyň nusgasydygyny barlaýar. Ilkinji parametr hökmünde obýekti, ikinji bolsa barlamak üçin klassyň adyny kabul edýär. Obýekt klassa degişli bolsa true, ýogsa false gaýtaryp berýär.

Sintaksis

php$object instanceof ClassName;

Mysal

Obýektiň MyClass klassyň nusgasydygyny barlaýaly:

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

Kodyň ýerine ýetiriliş netijesi:

phptrue

Mysal

Klaslaryň miras alnyşyny barlaýaly:

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

Kodyň ýerine ýetiriliş netijesi:

phptrue

Mysal

Obýektiň klassyň nusgasy däldigini barlaýaly:

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

Kodyň ýerine ýetiriliş netijesi:

phpfalse

Şeýle-de garaň

  • get_class funksiýasyny,
    obýektiň klassyň adyny gaýtaryp berýär
  • is_a funksiýasyny,
    obýektiň klassa degişlidigini barlaýar