我在基于字符串创建动态关联数组时遇到问题。
例如以下代码:
Session::addSession('browser.history','stackoverflow');
这应返回以下数组:$ _SESSION [TL_MODE] ['browser'] ['history'] ='stackoverflow';
当前的addSession函数:
public static function addSession($type, $value) {
$_SESSION[TL_MODE][$type] = $value;
}
我一直在研究这个问题几天,但我仍然没有解决方案。
我希望有人可以帮助我解决这个问题,或者如果我的方法错了,我想知道如何用不同的方法实现同样的目标。
--- --- UPDATE
感谢有人看到这是一个重复的问题。这就是我根据自己的情况修复它的方法:
$temp = &$_SESSION[TL_MODE];
$exploded = explode('.', $path);
foreach($exploded as $key) {
if(!is_array($temp[$key])) {
$temp[$key] = array();
}
$temp = &$temp[$key];
}
$temp[] = $value;
unset($temp);