@ 2016-01-11T14:05:45Z <?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.040 0.053 20.09 7.0.1 0.010 0.080 20.22 7.0.0 0.010 0.083 20.07 5.6.17 0.023 0.050 20.54 5.6.16 0.017 0.070 20.76 5.6.15 0.010 0.077 18.29 5.6.14 0.000 0.087 18.21 5.6.13 0.013 0.047 18.27 5.6.12 0.017 0.077 21.01 5.6.11 0.010 0.077 21.00 5.6.10 0.010 0.053 21.00 5.6.9 0.003 0.083 20.98 5.6.8 0.013 0.080 20.54 5.5.31 0.033 0.063 20.43 5.5.30 0.007 0.073 17.96 5.5.29 0.010 0.083 18.04 5.5.28 0.013 0.040 20.89 5.5.27 0.007 0.040 20.89 5.5.26 0.007 0.063 20.74 5.5.25 0.003 0.053 20.72 5.5.24 0.013 0.073 20.30
preferences:dark mode live preview
141.32 ms | 1394 KiB | 7 Q