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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
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:
128.35 ms | 407 KiB | 5 Q