3v4l.org

run code in 300+ PHP versions simultaneously
<?php const TIME_ZONE_FORMAT_NAME = 'utc'; const KEY_VALUE = 'value'; const KEY_NAME = 'name'; const KEY_OFFSET = 'offset'; const KEY_FORMAT = 'format'; const KEY_DISPLAY = 'display'; public function convertTimezoneToArray($timezone, $value) { $dateTime = new \DateTime(); $dateTime->setTimeZone(new \DateTimeZone($timezone)); return [ self::KEY_VALUE => $value, self::KEY_NAME => $timezone, self::KEY_OFFSET => $dateTime->format('P'), self::KEY_FORMAT => self::TIME_ZONE_FORMAT_NAME ]; } public function convertTimezoneList(array $timezonesForCountry) { $timezoneArray = []; foreach ($timezonesForCountry as $timeZone) { if (TimeZone::isTimeZone($timeZone)) { $value = TimeZone::findByFullName($timeZone); $timezoneArray[] = convertTimezoneToArray($timeZone, $value); } } return $timezoneArray; } $inputArray = ["Asia/Yekaterinburg", "Europe/Kaliningrad", "Europe/Moscow", "Europe/Samara"]; convertTimezoneList($inputArray)

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.20.0230.07020.15
7.0.10.0070.07020.24
7.0.00.0000.04720.30
5.6.170.0230.04020.52
5.6.160.0030.09020.50
5.6.150.0100.05718.18
5.6.140.0030.08318.16
5.6.130.0070.05318.12
5.6.120.0070.08321.09
5.6.110.0070.08320.98
5.6.100.0230.06721.01
5.6.90.0170.07320.95
5.6.80.0100.07020.35
5.5.310.0330.07720.50
5.5.300.0030.08317.99
5.5.290.0100.07717.98
5.5.280.0100.03320.84
5.5.270.0030.08320.63
5.5.260.0030.04020.88
5.5.250.0100.07720.71
5.5.240.0230.07320.18

preferences:
142.92 ms | 1394 KiB | 7 Q