@ 2016-01-11T14:06:04Z <?php
function setKey($session_keys, $value)
{
$current_key = '';
$counter = 0;
$prev_step = $_SESSION;
try {
$session_keys_array = explode(':', $session_keys);
foreach ($session_keys_array as $key) {
$counter++;
$current_key .= '[\'' . $key . '\']';
if (count($session_keys_array) > $counter) {
if (is_array($prev_step) && !array_key_exists($key, $prev_step)) {
eval('$_SESSION' . $current_key . ' = array();');
} else if (!is_array($prev_step) ||
(array_key_exists($key, $prev_step)) && !is_array($prev_step[$key])
) {
throw new Exception ("\$_SESSION$current_key is not an array");
}
eval('$prevStep = $_SESSION' . $current_key . ';');
} else {
eval('$_SESSION' . $current_key . ' = ' . $value . ';');
}
}
} catch (Exception $e) {
//TODO:log notice if Session[currentKey] is not an array
echo $e->getMessage();
return false;
}
return eval('$_SESSION' . $current_key . ';');
}
function setSessionTestingData()
{
$agent = 5;
$ticket = 6;
$_SESSION = array(
'agent_id' => '2',
'ticket_id' => '3',
'agent' => $agent,
'ticket' => $ticket,
'sub_array' => array(
'sub' => 4,
'agent' => $agent,
'ticket' => $ticket,
),
);
return $_SESSION;
}
$_SESSION = setSessionTestingData();
var_dump(setKey('sub_array:sub:unexistant:none', '4'));
!empty($_SESSION['sub_array']['sub']['unexistant']);
var_dump(!isset($_SESSION['sub_array']['sub']['unexistant']);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
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).
Version System time (s) User time (s) Memory (MiB) 7.0.2 0.030 0.077 20.20 7.0.1 0.010 0.083 20.15 7.0.0 0.017 0.050 20.33 5.6.17 0.023 0.080 20.60 5.6.16 0.007 0.080 20.55 5.6.15 0.000 0.047 18.15 5.6.14 0.010 0.060 18.16 5.6.13 0.007 0.047 18.28 5.6.12 0.007 0.083 21.01 5.6.11 0.020 0.070 21.06 5.6.10 0.007 0.057 21.00 5.6.9 0.010 0.083 21.05 5.6.8 0.007 0.060 20.39 5.5.31 0.030 0.070 20.26 5.5.30 0.003 0.063 17.93 5.5.29 0.010 0.087 18.07 5.5.28 0.003 0.043 20.89 5.5.27 0.003 0.057 20.91 5.5.26 0.007 0.090 20.98 5.5.25 0.007 0.037 20.68 5.5.24 0.020 0.067 20.20
preferences:dark mode live preview
139.58 ms | 1394 KiB | 7 Q