3v4l.org

run code in 300+ PHP versions simultaneously
<?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