Συνάρτηση is_a

Η συνάρτηση is_a δέχεται ένα αντικείμενο και ένα όνομα κλάσης, επιστρέφοντας true εάν το αντικείμενο είναι στιγμιότυπο αυτής της κλάσης ή του απογόνου της. Ως τρίτη παράμετρο μπορεί να καθοριστεί εάν πρέπει να ληφθεί υπόψη η κληρονομικότητα (από προεπιλογή true).

Σύνταξη

phpis_a(object, class_name, allow_string = true);

Παράδειγμα

Ας ελέγξουμε εάν το αντικείμενο ανήκει στην κλάση stdClass:

php<?php
  $obj = new stdClass();
  var_dump(is_a($obj, 'stdClass'));
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phptrue

Παράδειγμα

Ας ελέγξουμε την κληρονομικότητα κλάσεων:

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

Αποτέλεσμα εκτέλεσης κώδικα:

phptrue

Παράδειγμα

Ας ελέγξουμε τη λειτουργία με διεπαφές:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}
  
  $obj = new MyClass();
  var_dump(is_a($obj, 'MyInterface'));
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phptrue

Δείτε επίσης

  • τη συνάρτηση is_subclass_of,
    που ελέγχει την κληρονομικότητα
  • τη συνάρτηση instanceof,
    τον τελεστή ελέγχου στιγμιότυπου
  • τη συνάρτηση get_class,
    που επιστρέφει την κλάση του αντικειμένου
  • τη συνάρτηση class_implements,
    που επιστρέφει τις διεπαφές της κλάσης