我正在使用一些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?
提前致谢。
答案 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');
}