3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $arg1 = "['1']"; $arg2 = "['2']"; $arg3 = "['3']"; $_SESSION['1']['2']['3'] = 'zzzz'; function setKey($session_keys, $val) { $current_key = ''; $counter = 0; $prev_step = &$_SESSION; $tmp = &$prev_step; $session_keys_array = explode(':', $session_keys); foreach ($session_keys_array as $key) { if (is_array($tmp[$key])) { $tmp = &$tmp[$key]; var_dump($tmp); } else { $tmp = $val; var_dump($tmp); } } } setKey('1:2:3',5); // var_dump($_SESSION);
based on D5qrZ
Output for 5.3.21 - 7.1.7
array(1) { [2]=> array(1) { [3]=> string(4) "zzzz" } } array(1) { [3]=> string(4) "zzzz" } int(5)