Php 如何将三个不同的JSON文件合并为一个JSON?

Php 如何将三个不同的JSON文件合并为一个JSON?,php,json,Php,Json,我必须将三个JSON文件合并到一个JSON文件中,但这些文件以顺序方式添加,而不按根键排列。(PHP或任何其他语言) 例如: 我的代码: index.php <?php $a = file_get_contents('1.json'); $b = file_get_contents('2.json'); $merged = array(); $merged[] = json_decode($a, true); $merged[] = json_decode($b,true); $mer

我必须将三个JSON文件合并到一个JSON文件中,但这些文件以顺序方式添加,而不按根键排列。(PHP或任何其他语言)

例如:

我的代码:

index.php

<?php 

$a = file_get_contents('1.json');
$b = file_get_contents('2.json');
$merged = array();
$merged[] = json_decode($a, true);
$merged[] = json_decode($b,true);
$merged_json = json_encode($merged);
echo $merged_json;
?>
b、 json

{
    "strikers":[
        {"name":"Kannan", "club": "Arsenal"}
    ]
}
我需要这个

{
    "strikers":[
        {"name":"Narendran", "club": "Manchester United"},
        {"name":"Kannan", "club": "Arsenal"}
    ]
}
但我有这个

[
  {
    "strikers":[
       {"name":"Narendran","club":"Manchester United"}
    ]
  },
  {
    "strikers":[
       {"name":"Narendran","club":"Manchester United"}
    ]
  }
]

帮助我找到PHP或任何其他语言的任何建议

您的问题是正在合并最外层的阵列。您只想合并
删除符
数组:

$aDecoded = \json_decode('{
    "strikers":[
        {"name":"Narendran", "club": "Manchester United"}
    ]
}', true);
$bDecoded = \json_decode('{
    "strikers":[
        {"name":"Kannan", "club": "Arsenal"}
    ]
}', true);
$merged = [
  'strikers' => \array_merge($aDecoded['strikers'], $bDecoded['strikers']),
];
$merged_json = json_encode($merged, JSON_PRETTY_PRINT);
echo $merged_json;
您可能希望确保$adecode和$bDecode都包含“striker”键,并且其值为数组


此外,如果a和b可能包含重复项,您可能需要使用循环来比较它们并排除任何重复项。

请显示示例输入和所需输出。同时向我们展示您迄今为止尝试过的代码。添加了我尝试过的内容,我还提到了我需要的内容和正在获得的内容。请同时添加json文件的内容。@slepic还好吗?非常感谢。。。!!!!!它成功了…我在过去的两天里一直在寻找这个解决方案…再次非常感谢
$aDecoded = \json_decode('{
    "strikers":[
        {"name":"Narendran", "club": "Manchester United"}
    ]
}', true);
$bDecoded = \json_decode('{
    "strikers":[
        {"name":"Kannan", "club": "Arsenal"}
    ]
}', true);
$merged = [
  'strikers' => \array_merge($aDecoded['strikers'], $bDecoded['strikers']),
];
$merged_json = json_encode($merged, JSON_PRETTY_PRINT);
echo $merged_json;