php将json数组合并为一个数组

标签 php arrays json file merge

我正在尝试遍历一些 json 文件,并将它们组合成一个 json 文件。我的计划是拥有一个全局 $allData 数组,并将新的候选对象合并到其中。

<?php
$allData = array();
$count = 0;
if ($handle = opendir('./json/')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {

            echo $entry."<br />";

            $source_file = file_get_contents('./json/'.$entry);

            $data = json_decode($source_file,TRUE);

            if($data != null){


                $allData = array_merge($allData,$data);
                echo "<br /><br /><br /><br /> !!!! <br /><br /><br /><br />";
                print_r($allData);

            }
            else{
                echo "Invalid Json File";
            } //end else            
        }
closedir($handle);
}

echo "<br /><br /><br /><br /> !!!! <br /><br /><br /><br />";

print_r($allData);  

但是,合并会覆盖文件。如何将多个json文件合并为一个?

我想要以下结果:

1.json:

{"date":"10"},{"comment":"some comment"},{"user":"john"}

2.json:

{"date":"11"},{"comment":"another quote"},{"comment":"jim"}

组合.json

[{"date":"10"},{"comment":"some comment"},{"user":"john"},
{"date":"11"},{"comment":"another quote"},{"comment":"jim"}]

合并数组后我只得到这些值之一。

[{"date":"25.4.2013 10:40:10"},{"comment":"some text"},{"comment":"some more text"},
[{"date":"25.4.2013 10:45:15"},{"comment":"another quote"},{"comment":"quote"}]]

最佳答案

你的合并很奇怪:

$result = array_merge($allData,$data);

您想将每个新的 $data 数组合并到一个不断增长的 $allData 数组中,对吧?我想你想改为这样做:

$allData = array_merge($allData,$data);

你也可以去掉这个,没必要。

if($count == 0){
    $allData = $data;
}

关于php将json数组合并为一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20460039/

相关文章:

php - 带有 PHP 的 Ember.js

php - 无法从快速结帐中获取 Paypal 交易 ID

javascript - HTML5 需要只读输入而不发布

javascript - jQuery-AJAX : Checking if Data Exists, 如果不是 "POST"

javascript - 是否可以使用 underscore.js 对 JSON 数据进行分组?

json - Swift 全局变量

php - 使用关系数据库来存储面对面游戏的结果

javascript - 如何将字符串转换为键值 json/数组?

java - 如何分配多维输出缓冲区来提供 Android Tflite 的 interpreter.run()?

ios - 从 Openweathermap IOS 4 Xcode 10 获取 json 数据后 UI 不会更新