1

我正在使用一些 Zend_Session_Namespace 对象来保存一些数据,其中大部分数据或多维数组。我感觉我错过了 Zend_Session_Namespace 逻辑的一部分,或者我没有将它们用于它们应该做的事情。

例如,我将 cd id 及其 tracklist 存储为数组。

$session = new Zend_Session_Namespace('cd-track-list');
$session->{123} = array('First Track', 'Second Track');

之后我想循环会话命名空间,我想知道 cd 的 id 和它的 tracklist。

foreach($session as $key => $value {
   // $key is 0 -> but should be 123
   // $value is array('First Track', 'Second Track');
}

$value 是正确的,但这里没有设置 $key。所以我的问题是,当我循环所有 cd 时,如何获取 cd 的 id?

提前致谢。

4

1 回答 1

2

它不适用于您的整数索引,它被强制转换为“0”,这就是问题所在。参见“Zend_Session_Namespace.php”(__set)

$name = (string) $name;

您可以使用:

$session = new Zend_Session_Namespace('cd-track-list');
$session->a = array('First Track', 'Second Track');

foreach($session as $key => $value {
   // $key is 0 -> but should be 123
   // $value is array('First Track', 'Second Track');
}
于 2013-03-21T12:56:50.107 回答