PHP中的多维会话数组


Multidimensional session array in PHP

我想用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;

那就行了。