我想用PHP创建一个多维会话数组。
$_SESSION['basket'][$id] = $array
$array
是指一个数组。
当我为新的$id
运行此操作时,它正在覆盖$_SESSION['basket']
中的上一个条目。
意味着每次count($SESSION['basket'])
都是1
。
实际上,我想实现以下结构。
$_SESSION['basket'] = array($id1 => array(), $id2 => array(), .....)
编辑:
if(!isset($_SESSION['basket'])) {
$_SESSION['basket'] = array();
$_SESSION['basket'][$id] = $array;
}
else{
$_SESSION['basket'][$id] = $array;
}
当我做时
$_SESSION['basket'][$id] = implode('/',$array);
它是有效的。但不作为值为另一个数组工作。
我该怎么做?
谢谢。
我正在为我的问题提供答案。它可能会帮助其他有同样问题的人。
不要在$_SESSION变量中存储任何对象。我在储存
$array = array( $key=>object($value),....)
因此,我将对象投射到字符串
$array = array($key => (string)$value, ...)
它是有效的。
希望它能帮助到别人。
这样使用它:
$tmp = $_SESSION['basket'];
$tmp[$id] = array();
$tmp[$id] = $array;
那就行了。