Zend Session Namespace,获取已定义数组的键

时间:2013-03-21 12:28:01

标签: zend-framework zend-session-namespace

我正在使用一些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及其tracklist的id。

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

$ value是正确的,但$ key未在此处设置。 所以我的问题是,当我循环播放所有CD时,如何获取cd的ID?

提前致谢。

1 个答案:

答案 0 :(得分:2)

它不适用于您的Integer索引,它会被转换为“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');
}