3v4l.org

run code in 300+ PHP versions simultaneously
<?php function struct(string $name, array $class) { $class = json_encode($class); define($name, $class); } function create($class) { $object = (array) json_decode($class); return $object; } function call(array &$class, string $member, ...$args) { if(!isset($class[$member])) exit($member.' is not a member of the class.'); else { if(!isset($args[0])) call_user_func('$class["'.$member.'"]', $class); else call_user_func($class[$member], $class, $args)); } } struct('myStruct', [ 'foo' => 'Hello World!', 'bar' => function (&$this) { echo(' Hi!'); } ]); $obj = create(myStruct); call($obj, 'bar');

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
7.0.10.0030.09320.33
7.0.00.0100.06320.22
5.6.160.0070.06720.55
5.6.150.0000.06018.27
5.6.140.0030.05318.26
5.6.130.0000.06318.21
5.6.120.0130.07720.97
5.6.110.0030.05321.20
5.6.100.0070.06321.00
5.6.90.0070.05021.07
5.6.80.0100.03020.29
5.5.300.0130.07317.99
5.5.290.0100.06317.94
5.5.280.0070.08720.97
5.5.270.0130.03720.88
5.5.260.0130.08020.80
5.5.250.0070.07720.58
5.5.240.0200.04020.12

preferences:
125.63 ms | 1398 KiB | 7 Q