Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中合并JSON数组_Php_Arrays_Json - Fatal编程技术网

在PHP中合并JSON数组

在PHP中合并JSON数组,php,arrays,json,Php,Arrays,Json,如何在PHP中将对象A和B合并成C 对象A { "folders": { { "name": "foo", "folders": { { "name": "foo" }, { "name": "bar" }

如何在PHP中将对象A和B合并成C

对象A

{
    "folders": {
        {
            "name": "foo",
            "folders": {
                {
                    "name": "foo"
                },
                {
                    "name": "bar"
                }
            }
        },
        {
            "name": "bar"
        }
    }
}
对象B

{
    "folders": {
        {
            "name": "foo",
            "folders": {
                {
                    "name": "foobar"
                }
            }
        },
        {
            "name": "foobar",
            "folders": {
                {
                    "name": "foo"
                },
                {
                    "name": "bar"
                },
                {
                    "name": "foobar"
                }
            }
        }
    }
}
对象C(预期结果)


如果我使用函数array\u merge\u recursive,则键“name”将转换为一个数组,其中包含与原始字符串相等的多个值。

对象C不起作用,在“文件夹”中重复数组键我认为json格式错误您可能必须编写自己的合并函数。注意:这不是正确的json语法。对于JSON数组,您必须使用
[…]
。您的示例无效-不是PHP数组,也不是JSON字符串。我可以猜到您想要什么,并且可能会将您的“字符串”修复为有效的JSON,并使用JSON_decode()获取一个数组,从而获得一些需要处理的内容。请在你的问题中解决这个问题到目前为止你试过什么?向我们展示一个使用这些示例数据的代码示例。
{
    "folders": {
        {
            "name": "foo",
            "folders": {
                {
                    "name": "foo"
                },
                {
                    "name": "bar"
                },
                {
                    "name": "foobar"
                }
            }
        },
        {
            "name": "bar"
        },
        {
            "name": "foobar",
            "folders": {
                {
                    "name": "foo"
                },
                {
                    "name": "bar"
                },
                {
                    "name": "foobar"
                }
            }
        }
    }
}