猿问

自定义查询响应数组

我有一个 JSON 响应可以根据我们的需要进行定制


响应如下所示,其中包含多个带有数据的数组


但我想整理像 MAIN 这样的单个类别,并在一个数组中显示所有相关的东西,其值


[

  {

    "Main": [

      "Map View"

    ],

    "Reports": [

      "Sensor Data Report"

    ],

    "Configuration": [

      "Region Configuration"

    ],

    "Admin": [

      "Customer Management"

    ]

  },

  {

    "Main": [

      "Map View"

    ],

    "Reports": [

      "Sensor Data Report"

    ],

    "Configuration": [

      "Region Configuration"

    ],

    "Admin": [

      "Device Management"

    ]

  }

]

但我需要这样的东西


{

  "Main": [

    "Dashboard",

    "Devices"

  ],

  "Reports": [

    "Alert Report",

    "MOnthly Reports"

  ],

  "Configuration": [

    "Region Configuration",

    "Device Management"

  ]

}


UYOU
浏览 96回答 1
1回答

慕村225694

一种选择可能是,因为您的第一个包含数据的多个数组每个条目包含一个项目,所以使用 2 次 aforeach并收集同一键的所有值。由于您的示例数据包含重复值,您可以使用array_unique$result = [];foreach ($arrays as $array)    foreach ($array as $k => $v)        array_key_exists($k, $result) ? $result[$k][] = $v[0] : $result[$k] = [$v[0]];$result = array_map('array_unique', $result);print_r($result);看一个php 演示结果Array(    [Main] => Array        (            [0] => Map View        )    [Reports] => Array        (            [0] => Sensor Data Report        )    [Configuration] => Array        (            [0] => Region Configuration        )    [Admin] => Array        (            [0] => Customer Management            [1] => Device Management        ))
随时随地看视频慕课网APP
我要回答