3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Demo {}; $o = new class extends Demo {}; $r = new ReflectionClass($o::class); echo $r; var_dump($o::class); var_dump(str_replace("\0", "\\x00", $o::class)); $withoutNull = substr($o::class, 0, strpos($o::class, "\0")); var_dump($withoutNull); try { new ReflectionClass($withoutNull); } catch (Throwable $e) { echo $e; }
Output for git.master_jit, git.master
Class [ <user> class Demo@anonymous/in/7LSSp:5$0 extends Demo ] { @@ /in/7LSSp 5-5 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [0] { } } string(28) "Demo@anonymous/in/7LSSp:5$0" string(31) "Demo@anonymous\x00/in/7LSSp:5$0" string(14) "Demo@anonymous" ReflectionException: Class "Demo@anonymous" does not exist in /in/7LSSp:15 Stack trace: #0 /in/7LSSp(15): ReflectionClass->__construct('Demo@anonymous') #1 {main}

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:
46.45 ms | 812 KiB | 4 Q