2 回答

TA貢獻1785條經驗 獲得超4個贊
您可以使用這種方式;
<?php
$a1 = file_get_contents ("EngroClaims.json");
$a2 = file_get_contents ("EngroClaims2.json");
$a1 = json_decode($a1, true);
$a2 = json_decode($a2, true);
$count = $a1["count"] + $a2["count"];
$data = array();
$data["count"] = $count;
foreach ($a1["records"] as $row) {
$data["records"][] = $row;
}
foreach ($a2["records"] as $row) {
$data["records"][] = $row;
}
echo json_encode($data);
我發現了你的問題。去掉 json 中的逗號(代碼中有解釋)。
$a1 = '{
"count": 2077,
"records": [
{
"comm_date": "51529",
"Certificate_Number": "31", <--- THIS IS A PROBLEM
},
{
"comm_date": "51529",
"Certificate_Number": "31", <--- THIS IS A PROBLEM
}
]}';
/* in order for this solution to work you need to delete that comma.
Because there isn't a following data in the json so the comma should not be there */
檢查此鏈接; http://sandbox.onlinephpfunctions.com/code/8dfab10352cf4966c95eb599d2ed8644b24b49ab

TA貢獻1775條經驗 獲得超11個贊
如果不需要計數,可以使用 array_merge_recursive
$r = array_merge_recursive(json_decode($a1,true), json_decode($a2,true),json_decode($a3,true)); echo json_encode($r);
會給你結果
{"count":[3,3,3],"records":[{"comm_date":"1"},{"comm_date":"2"},{"comm_date":"3"},{"comm_date":"1"},{"comm_date":"2"},{"comm_date":"3"},{"comm_date":"1"},{"comm_date":"2"},{"comm_date":"3"}]}
- 2 回答
- 0 關注
- 270 瀏覽
添加回答
舉報