簡體   English   中英

在 php 中合並嵌套的 json 值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM