North Face Asked:2020-04-05 02:42:56 +0000 UTC2020-04-05 02:42:56 +0000 UTC 2020-04-05 02:42:56 +0000 UTC 如何在json中得到这样的结果? 772 如何在json中得到这样的结果?通过 php 和/或 js。 javascript 1 个回答 Voted Best Answer UKRman 2020-04-05T16:54:58Z2020-04-05T16:54:58Z 在这里,借助php,你可以使用你的数组来映射,你只需要以关联数组的形式关闭选择: [ ... [ 'id' => 1, 'firstname' => 'Olex', 'lastname' => 'Olex', 'subject' => 'Moskva' ], ... ], $rows = "SELECT * FROM yourtable"; // Ваша выборка всех строк в PDO, mysqli_query и тд. в формате асоцеативного асива $arrayMap['subject'] = []; foreach ($rows as $item) { $filter = array_filter( $arrayMap['subject'], function ($map) use ($item) { if ($map['subject_title'] === $item['subject']) { return $map; } } ); if (empty($filter) === true) { $arrayMap['subject'][] = [ 'subject_title' => $item['subject'], 'candidats' => [ [ 'id' => $item['id'], 'name' => $item['firstname'], ] ] ]; continue; } $arrayMap['subject'][key($filter)]['candidats'][] = [ 'id' => $item['id'], 'name' => $item['firstname'], ]; } var_dump(json_encode($arrayMap)); 输出数组。 如果有人把剧本做得更好,我会很高兴。
在这里,借助php,你可以使用你的数组来映射,你只需要以关联数组的形式关闭选择:
输出数组。
如果有人把剧本做得更好,我会很高兴。