首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Codeigniter/PHP中合并两行并获得单个数组?

如何在Codeigniter/PHP中合并两行并获得单个数组?
EN

Stack Overflow用户
提问于 2017-04-14 12:18:14
回答 1查看 768关注 0票数 0

我正在编写Codeigniter,用于为单个用户分配多个角色。为此,我创建了一个具有以下值的表。

代码语言:javascript
复制
    Array
(
    [Id] => 1
    [Store_address_id] => 
    [Customer_ref_id] => 193
    [Role_ref_id] => 1
    [Email_alert] => 0
    [Sms_alert] => 0
    [Admin_view] => 0
    [Admin_save] => 0
    [Admin_delete] => 0
    [Master_view] => 1
    [Master_save] => 1
    [Master_delete] => 1
    [Business_view] => 0
    [Business_save] => 0
    [Business_delete] => 0
    [Analytics_view] => 1
    [Analytics_delete] => 1
    [Analytics_save] => 1
    [Promotion_view] => 1
    [Promotion_save] => 1
    [Promotion_delete] => 1
)

但是,在数据库中,我有多个行,因此我需要像下面这样的验证来获得值

代码语言:javascript
复制
+----+----+----+
| i/p|i/p | o/p|
+----+----+----+
| 0  | 0  | 0  |
+----+----+----+
| 1  | 1  | 1  |
+----+----+----+
| 1  | 0  | 1  |
+----+----+----+
| 0  | 1  | 1  |
+----+----+----+

我的桌子是这样的

我需要验证并将其作为一个数组进行提取。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-14 13:57:00

按照我的意见,我建议在您的控制器中这样做:

代码语言:javascript
复制
// set a permissions array and set to default values of 0
$permissions =  array(
    'Email_alert' => 0,
    'Sms_alert' => 0,
    'Admin_view' => 0,
    'Admin_save' => 0,
    'Admin_delete' => 0,
    'Master_view' => 0,
    'Master_save' => 0,
    'Master_delete' => 0,
    'Business_view' => 0,
    'Business_save' => 0,
    'Business_delete' => 0,
    'Analytics_view' => 0,
    'Analytics_delete' => 0,
    'Analytics_save' => 0,
    'Promotion_view' => 0,
    'Promotion_save' => 0,
    'Promotion_delete' => 0,
);

// get the rows
foreach ($results as $row) {
    // get each col name and value
    foreach ($row as $key => $value) {
        // make sure it is a value needed for the permissions array
        if(isset($permissions[$key])) {
            // this value is a permissions value, is it a 1
            if ($value == 1) {
                // set the permissions array to 1
                $permissions[$key] = 1;
            }
        }
    }
}

这只是我输入它,所以没有测试它,可能有一些错误的。希望它有帮助。可能有更有效的方法来做到这一点,但是如果您只处理几行,就可以了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43411375

复制
相关文章

相似问题

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