<?php
interface A {}
class B implements A {}
class C {}
class D extends C {}
var_dump(in_array(A::class, class_implements(A::class)));
var_dump(in_array(A::class, class_implements(B::class)));
var_dump(in_array(A::class, class_implements(C::class)));
var_dump(in_array(C::class, class_implements(D::class)));
echo PHP_EOL;
var_dump(is_a(A::class, A::class, true));
var_dump(is_a(B::class, A::class, true));
var_dump(is_a(C::class, A::class, true));
var_dump(is_a(D::class, C::class, true));
echo PHP_EOL;
var_dump(is_subclass_of(A::class, A::class, true));
var_dump(is_subclass_of(B::class, A::class, true));
var_dump(is_subclass_of(C::class, A::class, true));
var_dump(is_subclass_of(D::class, C::class, true));
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- bool(false)
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
preferences:
89.44 ms | 402 KiB | 123 Q