我有如下的sql数据:
+++++++++++++++++++++++++++++++++
+ id name group +
+ 1 cs1 1,2 +
+ 2 cs2 1,3 +
+ 3 cs3 2,3 +
+++++++++++++++++++++++++++++++++我想要的是为group列中的组ID表示的每个组选择名称。我已经搜索了这么多,但不知道如何使用PHP获取每个组的数据。
我希望输出为:
++++++++++++++++++++++++++++++++
+group members +
+ 1 cs1 +
+ cs2 +
+ 2 cs2 +
+ cs3 +
+ 3 cs2 +
+ cs3 +
++++++++++++++++++++++++++++++++或
$group1 = array (cs1, cs2);非常感谢您的宝贵见解。
谢谢。
发布于 2018-10-03 16:08:22
使用PHP,您可以读取数据,获取组,然后查找每个成员,以构建组映射到成员的数组……
$data = [
[
'id' => 1,
'name' => 'cs1',
'group' => '1,2'
],
[
'id' => 2,
'name' => 'cs2',
'group' => '1,3'
],
[
'id' => 3,
'name' => 'cs3',
'group' => '2,3'
]
];
$groups = [];
foreach ($data as $item) {
foreach (explode(',', $item['group']) as $group) {
$groups[] = $group;
}
}
$groups = array_unique($groups);
sort($groups);
$group_members = [];
foreach ($groups as $group) {
$group_members[$group] = [];
foreach ($data as $item) {
if (strpos(",{$item['group']},", ",{$group},") !== false) {
$group_members[$group][] = $item['name'];
}
}
}
var_dump($group_members);https://stackoverflow.com/questions/52622071
复制相似问题