2012-02-16 4 views
0

У меня есть этот DataObject, что когда сбрасывали выглядит следующим образом:доступа к элементам структуры данных (массив)

array (
'roleid' => 5, 
'contextid' => '1727', 
'userid' => '229', 
'component' => '', 
'itemid' => 0, 
'timemodified' => 1329405635, 
'modifierid' => '6', 
) 

При попытке доступа к элементу идентификатор пользователя, никаких проблем.

$userid = $dataobject['userid']; 

Когда я пытаюсь получить доступ либо Идентификатор роли или в ContextID таким же образом:

$roleid = $dataobject['roleid']; 
$contextid = $dataobject['contextid']; 

Его генерируя ошибку говоря:

не определен индекс: Идентификатор роли в строке .... OR undefined index: contextid in line ....

Я просто не понимаю, почему это происходит. Мне нужно получить доступ к каждому из недостающих элементов в массиве.

Это код, я использую, чтобы попытаться получить доступ к Идентификатор роли:

foreach($dataobject as $field=>$value){ 
    if($field == 'roleid'){ 
     $roleid = $value; 
    }else{ 
     $roleid = 0; 
    } 
} 
+1

Невозможно дублировать на PHP 5.3.2: если '$ dataobject' определяется как массив выше, тогда' echo ($ dataobject ["roleid"]. "\ N"); 'возвращает' 5'. –

+2

Что такое код между ними? –

+1

Запустите цикл foreach и распечатайте все ключи и значения. – busypeoples

ответ

0

Ключ roleid или contextid не установлен каким-то образом. Отправьте код, и мы выясним, где ошибка.

Смежные вопросы