2015-07-19 3 views
0

Я пытаюсь найти долго и трудно найти ответы и почти никогда не задаю вопросов, могу ли я помочь. но это 5 утра, и я работаю над этим проектом уже несколько месяцев, и я застрял.PHP-итерация через массив - Не удается достичь значений верхнего уровня?

THE PROBLEM 

У меня есть файл в формате JSON, сохраненный на моем локальном сервере, который имеет следующую структуру:

* Примечание Я срубил файл в формате JSON, чтобы удалить раздуваться и сосредоточиться на то, что я пытаюсь для извлечения здесь.

{ 
"count": 74, 
"results": [ 
    { 
     "listing_id": 151323205, 
      "Images": [ 
      { 
       "url_75x75": "https:\/\/img1.etsystatic.com\/013\/0\/7566894\/il_75x75.459599049_hptl.jpg", 
      }, 

     ] 
    } 
], 
"params": { 
    "limit": "1", 
    "shop_id": "username", 
}, 

}

THE CODE 

Теперь мне удалось перебрать все другие вещи, как «listing_id» & «Images», но появляется «shop_id» находится вне сферы моего Еогеасп команды и внутри части «params»?

  foreach($results->results as $product){ 

        $products[$i]['url_75x75']  = $product->Images[0]->url_75x75; 

       $i++; 
      } 

Я не супер здравомыслящий PHP, поэтому, если вы можете немного опустить его? Это, наверное, что-то очень просто для вас, и я хотел бы узнать, что я делаю неправильно, и как это сделать правильно.

Это не полный код, как я заявил, поэтому, если вам нужно больше проницательности, спросите. Я не хотел бомбардировать людей связкой клавишных навыков:

Большое вам спасибо! Я так люблю!

ответ

1

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

$shop_id = $results->params->shop_id; 

Вы можете использовать эту функцию в цикле Еогеасп, если вы хотите (хотя его стоимость не изменится, конечно).

+0

К сожалению, я попробовал это, хм. В любом случае! Он работал безупречно, спасибо вам большое! Я поставлю это на ответ А.С.А.П. –

0

$results, вероятно, весь ваш объект, который содержит все данные, которые были в JSON. $results->results читает только часть «результатов» внутри JSON, поэтому цикл только итерации над тем, что там находится.

Чтобы прочитать магазин идентификатор, вы можете просто прочитать:

echo $results->params->shop_id; 
0

Params находится на том же уровне, что приводит так в вашем для каждого, где вы смотрите на $ конечные результаты> результаты, вы не включая params, вы можете вложить их для каждого, как

Foreach ($results as $result) { 
    Foreach ($result->results){} 
    Foreach ($result->params){} 
} 
Смежные вопросы