這是json
{"msg":"OK","server_time":"2021-11-19 16:41:22","status":200,"result":{"total_pages":1,"files":[{"download_url":"DOWNLOADLINKHERE1","single_img":"IMAGEURLHERE1","file_code":"CODEHERE1","title":"TITLEHERE1"},{"download_url":"DOWNLOADLINKHERE2","single_img":"IMAGEURLHERE2","file_code":"CODEHERE2","title":"TITLEHERE2"}],"results_total":"2","results":2}}
這是我的代碼
$json = json_decode($data);
foreach($json["result"] as $result){
foreach($result["files"] as $file){
echo $file["file_code"];
}
}
我想從“file_code”中提取所有值。我收到錯誤 警告:為 foreach() 提供的引數無效
我能夠獲得第一個的 VALUE 使用
echo $json->result->files[0]->file_code;
是否可以對檔案 [0] 使用 LOOP?
uj5u.com熱心網友回復:
我復制了你的情況,結果你的 JSON 無效。你}最后缺少一個。
沒有得到例外的原因是因為json_decode默認不拋出錯誤。您可以通過添加JSON_THROW_ON_ERROR標志來實作,閱讀檔案了解更多資訊。
uj5u.com熱心網友回復:
這對我來說很完美。如果您有任何想法,請隨時糾正我。
$num = count($json->result->files);
echo $num;
for($i=0;$i<$num;$i )
{
echo $json->result->files[$i]->file_code;
}
uj5u.com熱心網友回復:
這一行:
foreach($json["result"] as $result){
看到$json['result']作為一個物件,并且因此下一行試驗total_pages["files"],其不存在。
將兩者放在foreach一起可以解決問題:
$data='{"msg":"OK","server_time":"2021-11-19 16:41:22","status":200,"result":{"total_pages":1,"files":[{"download_url":"DOWNLOADLINKHERE1","single_img":"IMAGEURLHERE1","file_code":"CODEHERE1","title":"TITLEHERE1"},{"download_url":"DOWNLOADLINKHERE2","single_img":"IMAGEURLHERE2","file_code":"CODEHERE2","title":"TITLEHERE2"}],"results_total":"2","results":2}}';
$json = json_decode($data, true);
foreach($json["result"]["files"] as $file)
print $file["file_code"];
操場
或者,將 JSONresult放入陣列,并使用物件屬性訪問器而不是關聯陣列系結。
$data='{"msg":"OK","server_time":"2021-11-19 16:41:22","status":200,"result":[{"total_pages":1,"files":[{"download_url":"DOWNLOADLINKHERE1","single_img":"IMAGEURLHERE1","file_code":"CODEHERE1","title":"TITLEHERE1"},{"download_url":"DOWNLOADLINKHERE2","single_img":"IMAGEURLHERE2","file_code":"CODEHERE2","title":"TITLEHERE2"}],"results_total":"2","results":2}]}';
$json = json_decode($data);
foreach($json->result as $result){
foreach($result->files as $file){
echo $file->file_code;
}
}
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/361028.html
