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 git.master, git.master_jit, rfc.property-hooks
bool(false) bool(true) bool(false) bool(false) bool(true) bool(true) bool(false) bool(true) bool(false) bool(true) bool(false) bool(true)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
102.78 ms | 405 KiB | 5 Q