Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter:从数组中获取值_Php_Arrays_Codeigniter - Fatal编程技术网

Php CodeIgniter:从数组中获取值

Php CodeIgniter:从数组中获取值,php,arrays,codeigniter,Php,Arrays,Codeigniter,我正在创建一个helper函数,以从用户组数组中获取名称字段值。所以,整个想法是在函数参数中传递值,比如system\u admin,然后传入开关,根据定义的用户组获取内容 到目前为止,我已经做了如下工作。我确信这样做很糟糕,但不知道如何让它工作 功能 function admin_heading($groupname) { $CI =& get_instance(); $groups = $CI->ion_auth->groups()->

我正在创建一个helper函数,以从
用户组
数组中获取
名称
字段值。所以,整个想法是在函数参数中传递值,比如
system\u admin
,然后传入开关,根据定义的用户组获取内容

到目前为止,我已经做了如下工作。我确信这样做很糟糕,但不知道如何让它工作

功能

function admin_heading($groupname)
{
    $CI =& get_instance();        
    $groups = $CI->ion_auth->groups()->result();

    foreach ($groups as $key => $value)
    {
        foreach ($value as $val => $result){
            echo $result . '<br/>';
        }

    }

    //return $groups;
}
通过回显$result获得低于result的结果

1
system_admin
System Administrator
2
admin
Administrator
3
HR
Human Resources
4
REC
Recruitment
5
TRA
Training
6
AMs
Account Managers
7
TLs
Team Leaders
8
FIN
Finance
9
FAC
Facilities
10
AHT
After Hours Transportation
11
member
Member
1
所以我想要的最终结果是

当我在函数
admin\u heading('system\u admin')
中传递
system\u admin
时,它将检查数据库中是否存在
system\u admin
组。如果存在,它将传入
开关($var)
,并且我将有一个包含组名的文件,该文件将根据它调用

现在这种类型的条件代码第一次执行,所以不知道是否有比这更好的方法。所以如果有更好的方法,请向我学习。我将不胜感激


编辑

1
system_admin
System Administrator
2
admin
Administrator
3
HR
Human Resources
4
REC
Recruitment
5
TRA
Training
6
AMs
Account Managers
7
TLs
Team Leaders
8
FIN
Finance
9
FAC
Facilities
10
AHT
After Hours Transportation
11
member
Member
1
所以我要找的是

我想按照用户组加载文件/内容和标题。因此,例如,如果登录用户是
system\u admin
,它将自动检查组,并相应地加载与其他组相同的文件/内容和标题

注意:用户也可能在多个组中,因此需要检查较高的组并相应地加载内容


我希望这很容易理解。

我建议您也应该在DB中保存排名。这会有帮助的 如果用户具有多重访问权限(例如系统管理员、管理员)

创建一个单独的函数,该函数将检查用户组并返回用户角色

 <?php
function admin_heading($groupname) {
    $userId = 101; // You can get login userid here.
    $userRole = $this->checkUserRole($userId);
    switch ($userRole) {
        case 'administrator':
            // Load heading for administrator.
            break;
        case 'hr':
            // Load Heading for HR
            break;
        default:
            // May ur default role :)
            break;
    }
}

function checkUserRole() {
    $CI = & get_instance();
    //$userRole = ''
    // Run a single query which will return user max group.


    return $userRole;
}

您已经很好地解释了您的代码。如果你能解释一下你在哪一方面需要我们的帮助会更好。@Roopendra对此表示抱歉。你能检查一下我编辑的问题部分吗。非常感谢。谢谢你的编辑。我有一个帖子的答案,可能会对你有所帮助。