Related Links : Search Engine Optimization | | Search Engine Marketing | Online Marketing | Freelance Programmer| SEO Thailand | SEO Expert | SEO services | PHP Programmer Thailand | SEO Tutorial | What is SEO |

  Home Our SEO Services SEO Expert Consultant Php Programmer Keyword Suggestion Scripts|Articles| Email : sachin {at} jainsachin {dot} com

PHP | Type Operators | Manual | Tutorial | Help

SEO Services



Website Programming in PHP / MYSQL



SEO Tools




    Friends


      Type Operators

      Type Operators

      instanceof is used to determine whether a PHP variable is an instantiated object of a certain class:

      Example #1 Using instanceof with classes

      <?php
      class MyClass
      {
      }

      class 
      NotMyClass
      {
      }
      $a = new MyClass;

      var_dump($a instanceof MyClass);
      var_dump($a instanceof NotMyClass);
      ?>

      The above example will output:

      bool(true)
      bool(false)
      

      instanceof can also be used to determine whether a variable is an instantiated object of a class that inherits from a parent class:

      Example #2 Using instanceof with inherited classes

      <?php
      class ParentClass
      {
      }

      class 
      MyClass extends ParentClass
      {
      }

      $a = new MyClass;

      var_dump($a instanceof MyClass);
      var_dump($a instanceof ParentClass);
      ?>

      The above example will output:

      bool(true)
      bool(true)
      

      To check if an object is not an instanceof a class, the logical not operator can be used.

      Example #3 Using instanceof to check if object is not an instanceof a class

      <?php
      class MyClass
      {
      }

      $a = new MyClass;
      var_dump(!($a instanceof stdClass));
      ?>

      The above example will output:

      bool(true)
      

      Lastly, instanceof can also be used to determine whether a variable is an instantiated object of a class that implements an interface:

      Example #4 Using instanceof for class

      <?php
      interface MyInterface
      {
      }

      class 
      MyClass implements MyInterface
      {
      }

      $a = new MyClass;

      var_dump($a instanceof MyClass);
      var_dump($a instanceof MyInterface);
      ?>

      The above example will output:

      bool(true)
      bool(true)
      

      Although instanceof is usually used with a literal classname, it can also be used with another object or a string variable:

      Example #5 Using instanceof with other variables

      <?php
      interface MyInterface
      {
      }

      class 
      MyClass implements MyInterface
      {
      }

      $a = new MyClass;
      $b = new MyClass;
      $c 'MyClass';
      $d 'NotMyClass';

      var_dump($a instanceof $b); // $b is an object of class MyClass
      var_dump($a instanceof $c); // $c is a string 'MyClass'
      var_dump($a instanceof $d); // $d is a string 'NotMyClass'
      ?>

      The above example will output:

      bool(true)
      bool(true)
      bool(false)
      

      There are a few pitfalls to be aware of. Before PHP version 5.1.0, instanceof would call __autoload() if the class name did not exist. In addition, if the class was not loaded, a fatal error would occur. This can be worked around by using a dynamic class reference, or a string variable containing the class name:

      Example #6 Avoiding classname lookups and fatal errors with instanceof in PHP 5.0

      <?php
      $d 
      'NotMyClass';
      var_dump($a instanceof $d); // no fatal error here
      ?>

      The above example will output:

      bool(false)
      

      The instanceof operator was introduced in PHP 5. Before this time is_a() was used but is_a() has since been deprecated in favor of instanceof.

      See also get_class() and is_a().


      SEO Tutorial / Articles





      Php / Mysql Tutorial



      Articles



        Other Topics



        SEO by Jainsachin