2012-03-23 2 views
0

Почему это не работает?не может получить значение из массива

print_r($photo); 
echo $photo['type']; 

это выводит:

Array (['type'] => newPhoto ['fileName'] => 133249963433.jpg) 

Notice: Undefined index: type in /path/to/Logic.php on line 153 
Notice: Trying to get property of non-object in /path/to/Logic.php on line 154 

Это должно быть так просто, хотя ..?

редактировать:

нашел решение, но я не могу отправить его в качестве решения, потому что я не достаточно очков репутации.

Массив был сгенерирован из формы с генерируемыми php скрытыми входами. Я назвал эти входы, как это:

name="photos['.$uniqid.'][\'type\']" value="exisitingPhoto"> 
name="photos['.$uniqid.'][\'fileName\']" value="'.$photoTag['photoName'].'">` 

Оно должно быть это:

name="photos['.$uniqid.'][type]" value="exisitingPhoto"> 
name="photos['.$uniqid.'][fileName]" value="'.$photoTag['photoName'].'">` 

Таким образом, обратная косая черта и «» не разрешены в этом.

Спасибо всем за помощь!

+1

Дважды проверьте, является ли линия 154. Я не думаю, что это. –

+0

@Royw Не похоже, что есть какая-то проблема; Я просто запустил код ... –

+0

Попробуйте 'echo $ photo [0] ['type']'. иногда это работает. – Narek

ответ

0

Только для целей отладки, пожалуйста, попробуйте

$key = 'type'; 
print_r($photo); 
if (isset($photo[$key])) { 
    echo $photo[$key]; 
} 
else { 
    echo __FILE__, ':', __LINE__, ' $photo[$key] not set', "<br />\n"; 
} 
Смежные вопросы