2014-01-10 4 views
0

Я пытаюсь получить значение из массива в PHP.Получение значений из массива в PHP

Значение $ v при отображении с print_r ($ v) выглядит следующим образом:

Array ([0] => Array ([name] => BLARGH) 
     [1] => Array ([name] => TEMP CATEGORY) 
     ) 

Я пытаюсь перебирать это и вытащить значение ключа имя следующим образом:

foreach($v as $category) { 
echo $category->name; 
} 

Эхо не возвращает значения. Кроме того, если добавить print_r ($ категории) к петле я получаю возвращение

Array ([name] => TEMP CATEGORY) 

Как получить значение имени из массива?

+1

Проводили ли вы какие-либо исследования относительно доступа к значениям массивов? –

+0

@OP Вы также можете ввести приведение массива к объекту, если хотите сохранить операцию ->. IE foreach ($ v as $ category) {$ category = (object) $ category; echo $ category-> name; } Для этой небольшой демонстрации это немного перебор, но некоторым нравится сохранять метод ->, а не ['name'] беспорядок. Пример: http://ideone.com/Nxoejf – Rottingham

ответ

-2
<?php 
foreach($v as $key => $value){ 
    echo $key; 
    echo $value; 
} 
?> 
+0

Это будет эхо '1' и' Array'. – putvande

+0

Вы правы, я читал слишком быстро и не видел, чтобы он был многомерным –

2

Это массив, не является объектом. Использование массива обозначения:

echo $category['name']; 

Смотрите здесь: http://3v4l.org/gPL27

2
foreach($v as $category) { 

    echo $category['name']; 

} 

что вы сделали неправильно:

в этом случае:

$catagory->name 

$category должны были бы быть obj ect, а не массив

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