Introduction
In PHP, it is possible to ascertain whether a given variable is an object of a certain class or not. For this purpose PHP has instanceof operator.
Syntax
$var instanceof class
This operator returns a boolean value TRUE of $var is an object of class, otherwise it returns FALSE
Example
In following example, instanceof operator checks whether given object of a user defined testclass
Example
<?php
class testclass{
//class body
}
$a=new testclass();
if ($a instanceof testclass==TRUE){
echo "\$a is an object of testclass";
} else {
echo "\$a is not an object of testclass";
}
?>Output
Following result will be displayed
$a is an object of testclass
To check if a certain object is not an instance of class, use ! operator
Example
<?php
class testclass{
//class body
}
$a=new testclass();
$b="Hello";
if (!($b instanceof testclass)==TRUE){
echo "\$b is not an object of testclass";
} else {
echo "\$b is an object of testclass";
}
?>Output
Following result will be displayed
$b is not an object of testclass
The instanceof operator also checks whether a variable is object of parent class
Example
<?php
class base{
//class body
}
class testclass extends base {
//class body
}
$a=new testclass();
var_dump($a instanceof base)
?>Output
Following result will be displayed
bool(true)
It can also asertain whether a variable is an instance of intrface
Example
<?php
interface base{
}
class testclass implements base {
//class body
}
$a=new testclass();
var_dump($a instanceof base)
?>Output
Following result will be displayed
bool(true)