Php CodeIgniter:从数组中获取值
我正在创建一个helper函数,以从Php CodeIgniter:从数组中获取值,php,arrays,codeigniter,Php,Arrays,Codeigniter,我正在创建一个helper函数,以从用户组数组中获取名称字段值。所以,整个想法是在函数参数中传递值,比如system\u admin,然后传入开关,根据定义的用户组获取内容 到目前为止,我已经做了如下工作。我确信这样做很糟糕,但不知道如何让它工作 功能 function admin_heading($groupname) { $CI =& get_instance(); $groups = $CI->ion_auth->groups()->
用户组
数组中获取名称
字段值。所以,整个想法是在函数参数中传递值,比如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对此表示抱歉。你能检查一下我编辑的问题部分吗。非常感谢。谢谢你的编辑。我有一个帖子的答案,可能会对你有所帮助。