首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MySQL数据组

PHP MySQL数据组
EN

Stack Overflow用户
提问于 2018-10-03 15:39:26
回答 1查看 49关注 0票数 0

我有如下的sql数据:

代码语言:javascript
复制
+++++++++++++++++++++++++++++++++
+ id        name          group +
+  1        cs1           1,2   +
+  2        cs2           1,3   +
+  3        cs3           2,3   +
+++++++++++++++++++++++++++++++++

我想要的是为group列中的组ID表示的每个组选择名称。我已经搜索了这么多,但不知道如何使用PHP获取每个组的数据。

我希望输出为:

代码语言:javascript
复制
++++++++++++++++++++++++++++++++
+group                members  +
+   1                 cs1      +
+                     cs2      +
+   2                 cs2      +
+                     cs3      +
+   3                 cs2      +
+                     cs3      +
++++++++++++++++++++++++++++++++

代码语言:javascript
复制
$group1 = array (cs1, cs2);

非常感谢您的宝贵见解。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-10-03 16:08:22

使用PHP,您可以读取数据,获取组,然后查找每个成员,以构建组映射到成员的数组……

代码语言:javascript
复制
$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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52622071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档