【发布时间】:2013-02-25 16:16:22
【问题描述】:
我想使用数组 A 中的数据(如下),但只有当数组 A 中的项目 ID 不 与 ID 匹配时> 来自数组 B 中的 items(也位于下方)。我将如何通过 PHP 通过 ID (来自items)的键来比较这两个 JSON 数组?我想我首先需要用json_decode 转换它们,但我不知道接下来该去哪里?
请注意,数组 B 有更多的嵌套(“items”、“something”和“posts”),这与数组 A 不同。我想比较来自 items 的 ID,不是强>posts.
数组 A:
{
"data": [{
"category": "Games",
"id": "45345"
},
{
"category": "Music",
"id": "345345345"
},
{
"category": "Food",
"id": "1"
},
{
"category": "Pets",
"id": "13245345"
}]
}
数组 B:
{
"data": {
"something": "blah",
"posts": [{
"id": "34241",
"title": "orange"
}],
"items": [{
"id": "1",
"name": "orange"
},
{
"id": "2",
"name": "dog"
},
{
"id": "3",
"name": "cat"
},
{
"id": "4",
"name": "apple"
}]
}
}
对于上述情况,它将遍历数组 A 并输出数组 A 中除第三项之外的所有内容,因为该项 (1) 的 id 与数组 B items 中的一个 id 匹配。
【问题讨论】:
-
“似乎不起作用”。为什么?我觉得这个解决方案很好。
-
然后将
foreach ($array1 as $key => $value) {更改为foreach ($array1["data"] as $key => $value) {。认真的吗?