[英]Merge nested json values in php
在 PHP 中,我正在努力將兩個 json 對象( $old
和$new
)與嵌套值合並:
echo "OLD: ".$old;
echo "NEW: ".$new;
結果:
OLD: {"4":{"deu":1, "eng":1, "fra":1}}
NEW: {"4":{"deu":1, "eng":2}}
我需要的預期結果:
{"4":{"deu":1, "eng":2, "fra":1}}
嘗試:
嘗試了json_decode()
和array_merge()
但得到了 json 結果,缺少密鑰4
我得到了這樣的結果:
{{"deu":1, "eng":2, "fra":1}}
//or
[{"deu":1, "eng":1, "fra":1},{"deu":1, "eng":2}]
如您所見,結果中缺少鍵4
您還需要使用foreach()
以及json_decode()
和array_merge()
<?php
$old = '{"4":{"deu":1, "eng":1, "fra":1}}';
$new = '{"4":{"deu":1, "eng":2}}';
$oldArray = json_decode($old,true);
$newArray = json_decode($new,true);
$finalArray =[];
foreach($oldArray as $key=>$value){
$finalArray[$key] = array_merge($value,$newArray[$key]);
}
print_r($finalArray);
echo json_encode($finalArray);
Output: https://3v4l.org/i0QLt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.