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)
Firefox 8, listo … irefox 8 es la última versión no estable del navegador web de código abierto desarrollado por Mozilla. Entre las mejoras y cambios que son implemen...
Nuevo Google Analytics Google ha anunciado recientemente una remodelación de su servicio Analytics con el que espera mejorar su funcionalidad así como su manejo y acceso a l...
La descarga de apps se disparó un 125% el día de Navidad La popularización de los teléfonos inteligentes no ha supuesto únicamente que se dispare el envío de mensajes y felicitaciones a través de programas d...
Microsoft promete mas de 100mil Apps para Windows Phone 8 Falta muy poco para que la firma americana Microsoft presente la nueva versión de su sistema operativo para móviles, Windows Phone 8. De hecho, todo h...
Consejos para trabajar con el portal de subastas Ebay ¿Conoces a alguien que esté haciendo dinero y vendiendo cosas en la red de subastas Ebay? Si no es así, no pasará mucho tiempo hasta que conozcas algu...
Programa Para Analizar y Mostrar como se Almacena la Información en Discos Duros y DVDs Scanner 2.10 es una herramienta gratuita con el que podemos ver la distribución de todos los contenidos de nuestros discos duros. Es una herramienta l...
Western Digital lanza un disco duro de 6 terabytes El Ultrastar He6 almacena 6 TB de información, en comparación a los 4TB que logra actualmente la industria. La subsidiaria HGST de Western Digita...
Requisitos técnicos para Windows 8 Durante la celebración de la conferencia mundial de partners de Microsoft WPC2011 que actualmente está teniendo lugar en Los Angeles, han sido confirm...
Como hacer para que Windows no se cuelgue? La causa de esto pueden ser cualquiera de las mencionadas arriba, pero una que no hemos mencionado y que molesta bastante, son los controladores de la...
Google retira aplicación de Gmail para Apple por falla técnica El gigante de internet Google tuvo que retirar este miércoles una aplicación de su mensajería Gmail para dispositivos Apple unas horas después de su l...