[英]PHP JSON Array Multi Level
我被困在試圖處理 JSON Array Parse 的泡菜中。
我需要一個 JSON 數組並將信息分解出來。
JSON 飼料如下——
[
{
"ID": "344",
"MaxOptions": 4,
"MinOptions": 0,
"ModifierGUID": "",
"Name": "Remove Items",
"Options": [
{
"DefaultOption": true,
"Description": "",
"ID": "68557",
"MaxSelections": 99,
"Name": "Remove Tomato ",
"OptionGUID": "",
"OptionItemID": "8e362d67-2a1e-4a31-9b54-48b19a147813",
"PLU": "",
"Price": 0.0000,
"TakeawayPrice": 0
},
{
"DefaultOption": true,
"Description": "",
"ID": "69254",
"MaxSelections": 4,
"Name": "Remove Cheese",
"OptionGUID": "",
"OptionItemID": "f1dbaaf5-be18-462b-8c7a-6207cb3deaf3",
"PLU": "",
"Price": 0.0000,
"TakeawayPrice": 0
}
]
}
]
我最初運行了以下代碼來解碼 JSON
$json_url = ""; // INSIDE QUOTES THE JSON URL
$json_value = file_get_contents($json_url);
$array = json_decode($json_value,true);
foreach($array as $item) {
echo $item['ID']; // This Returns "344"
}
這是正確的,但是我現在需要運行一個額外的 foreach 來獲取 JSON 的“選項”部分中的數組值,但只是簡單地添加一個額外的 foreach 似乎並不像想要的那樣!
我敢肯定這將是一個簡單的修復,但我似乎無法弄清楚!
謝謝您的幫助!
我無法正確理解,您可以直接通過 select Options by
$Options = $item['Options'];
請提供您預期的 output
編輯:你可能想要這個
$Options = array_column($array, 'Options');
這完全消除了你的 foreach 循環,刪除 foreach 循環並添加上面的行
你可以簡單地這樣做:
$json_url = ""; // INSIDE QUOTES THE JSON URL
$json_value = file_get_contents($json_url);
$array = json_decode($json_value,true);
foreach($array as $item) {
echo $item['ID']; // This Returns "344"
foreach($item['Options'] as $option) {
//do the needed processing here
}
}
嘗試這個:
$array = json_decode($json_value,true);
$opt = $array['Options'];
foreach($opt as $item) {
echo $item['ID'];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.