php - PHP JSON 数组多级
问题描述
我被困在试图处理 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 似乎并没有达到预期的效果!
我敢肯定这将是一个简单的修复,但我似乎无法弄清楚!
谢谢您的帮助!
解决方案
我无法正确理解,您可以直接选择 Options by
$Options = $item['Options'];
请提供您的预期输出
编辑:你可能想要这个
$Options = array_column($array, 'Options');
这完全消除了你的 foreach 循环,删除 foreach 循环并添加上面的行
推荐阅读
- powershell - 为什么 Invoke-Webrequest 正确返回外来字符而 cURL 没有?
- docker - nginx 容器的 docker-compose up 失败
- javascript - 如何在不定义类的情况下创建多个实例?
- laravel - Laravel NPM 导致 ELIFECYCLE
- media-queries - 我在使用媒体查询时遇到了一些困难
- github - 无法在 GitHub Pages 上部署 create-react-app 应用程序
- javascript - 将数值数据从 Javascript 写入 HTML 表格单元格
- arrays - 将 inet[] 加入 inet
- javascript - 角度未定义
- database - 安装 APK 文件时如何包含多个数据库?