我尝试长时间搜索并难以找到我的答案,如果我能帮助它,几乎从不提问。但现在是凌晨5点,我已经在这个项目上工作了好几个月而且我被卡住了。
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'和& '图像'但似乎'shop_id'超出了我的foreach命令范围和'params'部分的范围?
foreach($results->results as $product){
$products[$i]['url_75x75'] = $product->Images[0]->url_75x75;
$i++;
}
我不是超级PHP精明所以如果你可以稍微愚蠢一点?对你们来说这可能是非常简单的事情,我想知道我做错了什么以及如何正确行事。
这不是我所说的完整代码,如果您需要更多见解,请询问。我不想用一堆键盘拍打编码技能来轰炸人们:)
非常感谢你!我爱你!
答案 0 :(得分:1)
您应该可以使用以下代码获取商店ID:
$shop_id = $results->params->shop_id;
如果你愿意,可以在foreach循环中使用它(虽然它的值当然不会改变)。
答案 1 :(得分:0)
$results
可能是您的整个对象,其中包含JSON中的所有数据。 $results->results
仅读取"结果"部分在JSON中,所以循环只迭代在那里。
要阅读商店ID,您可以阅读:
echo $results->params->shop_id;
答案 2 :(得分:0)
Params与结果处于同一级别,因此在您查看$ results->结果的每个地方,您不包括params,您可以为每个人设置嵌套
Foreach ($results as $result) {
Foreach ($result->results){}
Foreach ($result->params){}
}