3v4l.org

run code in 300+ PHP versions simultaneously
<?php public static function setKey($sessionKeys, $value) { $currentKey = ''; $counter = 0; $prevStep = $_SESSION; try { $sessionKeysArray = explode(':', $sessionKeys); foreach ($sessionKeysArray as $key) { $counter++; $currentKey .= '[\'' . $key . '\']'; if (array_key_exists($key, $prevStep)) { eval('$prevStep = $_SESSION' . $currentKey . ';'); if (!is_array($prevStep) && count($sessionKeysArray) > $counter) { throw new Exception ("\$_SESSION$currentKey is not an array"); } else if (count($sessionKeysArray) == $counter) { eval('$_SESSION' . $currentKey . ' = ' . $value . ';'); } } } eval('var_dump($_SESSION' . $currentKey . ');'); } catch (Exception $e) { return false; } return eval('!empty($_SESSION' . $currentKey . ');'); } $_SESSION['1']['2']['3'] = 'zzzz'; setKey('1:2:3', 77);

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.0270.08320.20
7.0.10.0100.07020.24
7.0.00.0100.07320.19
5.6.170.0170.04720.62
5.6.160.0070.05320.50
5.6.150.0130.03018.12
5.6.140.0030.04018.18
5.6.130.0000.04718.28
5.6.120.0030.07021.00
5.6.110.0000.04321.07
5.6.100.0170.06321.10
5.6.90.0030.07720.92
5.6.80.0130.07020.37
5.5.310.0270.05720.23
5.5.300.0030.04318.04
5.5.290.0130.07317.95
5.5.280.0070.04020.76
5.5.270.0070.08320.89
5.5.260.0070.08320.79
5.5.250.0070.08020.58
5.5.240.0100.06720.25

preferences:
137.73 ms | 1394 KiB | 7 Q