<?php
interface A {}
class B implements A {}
class C extends B {}
$b = new B;
var_dump(is_a($b, 'A'));
$c = new C;
var_dump(is_a($c, 'A'));
var_dump(is_a($c, 'B'));
var_dump(is_a($c, 'C'));
var_dump(is_a('C', 'A', true));
var_dump(is_a('C', 'B', true));
var_dump(is_a('C', 'C', true));
var_dump(is_a('A', 'A', true), A instanceof A);
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Fatal error: Uncaught Error: Undefined constant "A" in /in/VkmTA:18
Stack trace:
#0 {main}
thrown in /in/VkmTA on line 18
Process exited with code 255.
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Warning: Use of undefined constant A - assumed 'A' (this will throw an Error in a future version of PHP) in /in/VkmTA on line 18
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
Notice: Use of undefined constant A - assumed 'A' in /in/VkmTA on line 18
bool(true)
bool(false)
Output for 5.3.0 - 5.3.8
bool(true)
bool(true)
bool(true)
bool(true)
Warning: is_a() expects exactly 2 parameters, 3 given in /in/VkmTA on line 14
NULL
Warning: is_a() expects exactly 2 parameters, 3 given in /in/VkmTA on line 15
NULL
Warning: is_a() expects exactly 2 parameters, 3 given in /in/VkmTA on line 16
NULL
Warning: is_a() expects exactly 2 parameters, 3 given in /in/VkmTA on line 18
Notice: Use of undefined constant A - assumed 'A' in /in/VkmTA on line 18
NULL
bool(false)
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 8
bool(true)
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 11
bool(true)
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 12
bool(true)
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 13
bool(true)
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 14
Warning: Wrong parameter count for is_a() in /in/VkmTA on line 14
NULL
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 15
Warning: Wrong parameter count for is_a() in /in/VkmTA on line 15
NULL
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 16
Warning: Wrong parameter count for is_a() in /in/VkmTA on line 16
NULL
Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /in/VkmTA on line 18
Warning: Wrong parameter count for is_a() in /in/VkmTA on line 18
Notice: Use of undefined constant A - assumed 'A' in /in/VkmTA on line 18
NULL
bool(false)
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING in /in/VkmTA on line 3
Process exited with code 255.