【发布时间】:2018-08-14 07:47:09
【问题描述】:
我有一个通过 API 传入的 JSON 数组。我希望打印出数据,但是对于每个项目,返回的值并不总是在同一个位置。以下是返回的 JSON 示例 - 这只是 JSON 的一部分,它是一个大文件:
"standardSpecification": [
{
"Technical": [
{
"id": 13501,
"name": "Performance",
"description": "XXXXX",
"value": "standard",
"items": [
{
"id": 13502,
"name": "maximum speed (km/h)",
"value": 169
},
{
"id": 13503,
"name": "acceleration 0-62mph (s)",
"value": 12.2
},
{
"id": 113502,
"name": "maximum speed (mph)",
"value": 105
}
]
},
我无法使用诸如操作之类的东西,因为对于一个项目它可能是正确的,而对于另一个则不是:
echo $tech_array['standardSpecification'][5]['Technical'][11]['items'][8]['value'];
有没有办法找到“性能”,然后打印出所有与之相关的项目?我知道我可以使用 in_array() 和 array_search() 但是我不知道如何返回这些项目。
这可能是一个简单的解决方案,所以希望有人可以帮助手指交叉。
【问题讨论】:
-
您要搜索的值总是在同一个数组级别?
-
哈桑你好,不幸的是他们坐在不同的级别,但每次都在
"Technical"的主标题下说。有时他们不在那里。这仅取决于 API 返回的内容。 -
好吧,发布的答案似乎适用,但您需要检查
Performance值是否存在
标签: php arrays json data-manipulation