Пространство имен Zend Session, получить ключ определенного массива
Я использую некоторые объекты Zend_Session_Namespace для сохранения некоторых данных, большей части этих данных или многомерных массивов. У меня такое ощущение, что я пропускаю часть логики Zend_Session_Namespace или не использую их для того, что они должны делать.
Например, я храню идентификатор компакт-диска с его треклистом в виде массива.
$session = new Zend_Session_Namespace('cd-track-list');
$session->{123} = array('First Track', 'Second Track');
После этого я хочу зациклить пространство имен сеанса и узнать идентификатор компакт-диска и его треклист.
foreach($session as $key => $value {
// $key is 0 -> but should be 123
// $value is array('First Track', 'Second Track');
}
Значение $ верное, но ключ $ здесь не установлен. Итак, мой вопрос, как я могу получить идентификатор компакт-диска, когда я зациклить все компакт-диски?
Заранее спасибо.
1 ответ
Он не будет работать с вашим целочисленным индексом, он приведен к "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');
}