3v4l.org

run code in 500+ PHP versions simultaneously
<?php interface BuilderObject { public function start(array $array): BuilderObject; public function addString(array $array): BuilderObject; public function end(string $str): BuilderObject; public function getData(): string; } class BuilderHtml implements BuilderObject { private string $data; public function start(array $array): BuilderObject { foreach ($array as $key => $value) { $this->data = $this->parseData($key, $value); } return $this; } private function parseData(string $key, array $value): string { $body = '<' . $key . ' '; foreach ($value as $k => $v) { $body .= $k . '="' . $v . '" '; } $body .= ">"; return $body; } public function addString(array $array): BuilderObject { foreach ($array as $key => $value) { $this->data = $this->parseData($key, $value); } return $this; } public function end(string $str): BuilderObject { $this->data .= $str; return $this; } public function getData(): string { return $this->data; } } $builderHtml = new BuilderHtml(); $resultHtml = $builderHtml->start(['form' => ['action' => 'actice.php', 'method' => 'GET']]) ->addString(['input' => ['type' => 'text', 'name' => 'name', 'value' => 'default']]) ->addString(['input' => ['type' => 'hidden', 'name' => 'id', 'value' => 1]]) ->addString(['input' => ['type' => 'date', 'name' => 'date_start', 'value' => date("Y-m-d")]]) ->end('</form>'); var_dump($resultHtml->getData());

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)
8.5.60.0160.00616.99
8.5.50.0120.00616.83
8.5.40.0260.00516.75
8.5.30.0130.00516.96
8.5.20.0160.00616.77
8.5.10.0140.00716.72
8.5.00.0150.00517.00
8.4.210.0170.00619.40
8.4.200.0170.00419.60
8.4.190.0120.00719.77
8.4.180.0120.00619.70
8.4.170.0100.00419.72
8.4.160.0070.00719.83
8.4.150.0110.00519.84
8.4.140.0100.00717.50
8.4.130.0150.00717.68
8.4.120.0120.00417.84
8.4.110.0100.00517.81
8.4.100.0100.00518.00
8.4.90.0080.00518.02
8.4.80.0100.00417.63
8.4.70.0110.00617.96
8.4.60.0180.00517.62
8.4.50.0190.00417.56
8.4.40.0220.00317.72
8.4.30.0100.00417.61
8.4.20.0170.00817.74
8.4.10.0100.00417.83
8.3.310.0120.00818.68
8.3.300.0150.00518.54
8.3.290.0120.00718.32
8.3.280.0160.00518.13
8.3.270.0050.00716.80
8.3.260.0140.00216.62
8.3.250.0190.00016.80
8.3.240.0160.00116.71
8.3.230.0110.00316.94
8.3.220.0050.00716.95
8.3.210.0070.00416.84
8.3.200.0070.00516.70
8.3.190.0070.00516.66
8.3.180.0060.00616.77
8.3.170.0080.00416.62
8.3.160.0080.00416.66
8.3.150.0100.00616.80
8.3.140.0140.00416.86
8.3.130.0170.00316.58
8.3.120.0100.00416.77
8.3.110.0150.00416.65
8.3.100.0090.00516.67
8.3.90.0110.00316.49
8.3.80.0110.00316.69
8.3.70.0140.00516.70
8.3.60.0150.00416.60
8.3.50.0070.00516.60
8.3.40.0170.00418.09
8.3.30.0140.00317.96
8.3.20.0150.00417.86
8.3.10.0110.00318.09
8.3.00.0080.00618.08
8.2.310.0150.00717.79

preferences:
49.16 ms | 735 KiB | 5 Q