0

このような JSON 文字列がありますが、同じキーを持つ要素を 2 回使用したくありません。second の場合と同様にCnum特定statusの を親の 1 つに追加するC必要がstatus: 0あります (新しい結合にはnum: 60883(3223 + 57659) が必要です)。基本的に、C私の配列では一度だけ発生するはずです。残りの要素についても同じです。

[
   {
      "C":[
         {
            "status":"0",
            "num":"3223"
         },
         {
            "status":"1",
            "num":"45186"
         },
         {
            "status":"2",
            "num":"8310"
         },
         {
            "status":"3",
            "num":"82"
         }
      ]
   },
   {
      "C":[
         {
            "status":"0",
            "num":"57659"
         },
         {
            "status":"1",
            "num":"3017"
         }
      ]
   },
   {
      "F":[
         {
            "status":"0",
            "num":"1506"
         },
         {
            "status":"1",
            "num":"31253"
         },
         {
            "status":"2",
            "num":"1660"
         },
         {
            "status":"5",
            "num":"1017"
         }
      ]
   },
   {
      "F":[
         {
            "status":"0",
            "num":"34024"
         },
         {
            "status":"1",
            "num":"2167"
         }
      ]
   }
]

値をプッシュするために PHP を使用しています。値を内部にプッシュする前に、重複がないことを確認するためにできることはありますか?

PHP コードは次のようなものです。

foreach ($Something as $something) {
    $data = array(
        'status' => $something->status,
        'num'    => $something->num,
    );

    $zone_data[$stringWhichIsGenerated][] = $data;  
}

// Probably I have to do something here...?
array_push($zone_parent, $zone_data);

私は朝からそれを修正するためのいくつかの愚かな方法を考え出そうとしていましたが、今まで本当に実りがありませんでした.

json_encode()これをアレイで使用して出力しています。この質問は重複している可能性がありますが、本当に役立つものを見つけることができませんでした。

4

1 に答える 1