instanceof-operaattori

instanceof-operaattori tarkistaa, onko objekti määritetyn luokan ilmentymä tai sen perijä. Se ottaa ensimmäisenä parametrina objektin, toisena - luokan nimen tarkistusta varten. Palauttaa true, jos objekti kuuluu luokkaan, tai false muussa tapauksessa.

Syntaksi

php$object instanceof ClassName;

Esimerkki

Tarkistetaan, onko objekti luokan MyClass ilmentymä:

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

Koodin suorituksen tulos:

phptrue

Esimerkki

Tarkistetaan luokkien periytyminen:

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

Koodin suorituksen tulos:

phptrue

Esimerkki

Tarkistetaan, että objekti ei ole luokan ilmentymä:

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

Koodin suorituksen tulos:

phpfalse

Katso myös

  • funktion get_class,
    joka palauttaa objektin luokan nimen
  • funktion is_a,
    joka tarkistaa objektin kuuluvuuden luokkaan