3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Mammal { function mate(Mammal $with) { $thisClass = get_class($this); $withClass = get_class($with); $class = substr($thisClass, 0, -rand(1, strlen($thisClass) - 1)) . substr($withClass, rand(1, strlen($withClass) - 1)); eval("class $class extends Mammal {}"); return new $class; } } class Panda extends Mammal {} class Dolphin extends Mammal {} class Squirrel extends Mammal {} class Kangaroo extends Mammal {} $mingmong = new Panda; $charles = new Dolphin; $suqidgy = new Squirrel; $wanger = new Kangeroo; $charlimong = $mingmong->mate($charles); $wangy = $wanger->mate($squidgy); $wangimong = $wanger->mate($charlimong); var_dump($wangimong);
based on KW2uq
Output for 7.0.0 - 7.1.0
Fatal error: Uncaught Error: Class 'Kangeroo' not found in /in/lERMX:21 Stack trace: #0 {main} thrown in /in/lERMX on line 21
Process exited with code 255.
Output for 5.0.0 - 5.6.28
Fatal error: Class 'Kangeroo' not found in /in/lERMX on line 21
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting ')' in /in/lERMX on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting ')' in /in/lERMX on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `')'' in /in/lERMX on line 4
Process exited with code 255.