Как объединить два jsons и сохранить их как массив - PullRequest
1 голос
/ 24 октября 2019

У меня есть два jsons, у которых есть несколько одинаковых ключей, и я хочу объединить их, основываясь на ключе, который имеет.

мой первый json: {"3":"test","4":"exam"}

Мой второй json: {"3":"12","4":"19"}

я хочу иметь такой массив:

array("final") {
[3]=> {
  "name" => "test"
  "quantity" => "12"
 } 
 [4]=> {
  "name" => "exam"
  "quantity" => "19"
 } 
}

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Декодировать объекты json в массив

 $x = json_decode($x);
 $y = json_Decode($y);
 $res['final'] = [];
 foreach($x as $key => $value)
 {
  foreach($y as $k => $v)
  {
    if($key == $k)
    {
        $res['final'][$key]['name'] = $value;
        $res['final'][$key]['quantity'] = $v;
    }
  }
 }
 print_r($res);

Вывод будет

Array
(
[final] => Array
    (
        [3] => Array
            (
                [name] => test
                [quantity] => 12
            )

        [4] => Array
            (
                [name] => exam
                [quantity] => 19
            )

    )

)
0 голосов
/ 24 октября 2019

Вы можете использовать json_decode и array_merge

Первый json_decode ваш первый и второй json

$firstJson = json_decode(jsonData); 
$secondJson = json_decode(jsonData);

И объединить их, используя array_merge

array_merge($first_json, $secondJson);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...