[英]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.