Ο Τελεστής 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,
    που ελέγχει την συμμετοχή ενός αντικειμένου σε μια κλάση