2014-01-29 5 views
0

Я схожу с ума от этого, как мне сделать foreach, чтобы эхо вернуть значения пули.php многомерный массив для получения значения

это мой массив: [{"id":1,"catid":"digital-art","scategory":"3-Dimensional Art","slug":"3-dimensional-art","created_at":"2014-01-29 12:17:21","updated_at":"0000-00-00 00:00:00"}]

print_r возвращает это:

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [catid] => digital-art 
      [scategory] => 3-Dimensional Art 
      [slug] => 3-dimensional-art 
      [created_at] => 2014-01-29 12:17:21 
      [updated_at] => 0000-00-00 00:00:00 
     ) 

) 
+0

ли вам проанализировать его с помощью json_decode? – Yani

+0

no Я этого не делал, его внутри класса, и однажды я использую json decode, он возвращает ошибку. Я только что сделал печать r Я обновил код – cppit

ответ

2

Это не «массив», а JSON из String. Вы мой синтаксического анализа это в массив с

$myArray = json_decode('[{"id":1,"catid":"digital-art","scategory":"3-Dimensional Art","slug":"3-dimensional-art","created_at":"2014-01-29 12:17:21","updated_at":"0000-00-00 00:00:00"}]', true); 

Если последний параметр будет указывать, чтобы преобразовать это в ассоциативной массиве как:

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [catid] => digital-art 
      [scategory] => 3-Dimensional Art 
      [slug] => 3-dimensional-art 
      [created_at] => 2014-01-29 12:17:21 
      [updated_at] => 0000-00-00 00:00:00 
     ) 

) 

И это будет перебирать

foreach ($myArray[0] as $key => $value) { ... 
3

Обновлено в свой новый комментарий:

В соответствии с вашим новым print_r, ваши данные уже в формате объекта JSON так что не нужно снова разбирать его (jsode_decode() не удастся).

Предполагая, что имя вашего объекта является $data, вы можете получить доступ к своим данным:

foreach ($data as $item) { 
      echo $item->{'slug'}; 
      echo $item->slug;//same thing 
} 

Надеется, что это помогает!

+0

спасибо, что я потянул за волосы, он возвращает ошибку, когда я делаю декодирование! – cppit

+0

Да, я чувствую, что вы ... json_decode будет работать только с строкой, которую вы хотите преобразовать в объект. Когда вы работаете с JSON, всегда делайте var_dump/print_r, чтобы увидеть тип данных. – Yani

+0

@fogsy ответ, который вы отметили как правильный, НЕ является правильным ответом, так как json_decode() завершится с ошибкой. – Yani

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