0
在Codeigniter中,我創建了一些幫助程序,通過將組名稱作爲字符串或多個組的數組傳遞給某個/某些組,以檢查用戶。現在看來事情工作正常,如果我不通過userid $id
參數。當我設置了$id
一些用戶ID喜歡2
它給下面消息:無法將標量值用作數組
Message: Cannot use a scalar value as an array
這裏的錯誤是我所有的輔助功能,比使用。
獲取用戶的組
if (!function_exists('get_user_group'))
{
function get_user_group($id = FALSE)
{
$CI =& get_instance();
// getting user groups by id or logged in
$object = $CI->ion_auth->get_users_groups($id)->result();
foreach($object as $group):
$id[] = $group->id;
$groups[] = $group->name;
endforeach;
$groups = array_combine($id, $groups);
return $groups;
}
}
檢查用戶組中的/ s的
if (!function_exists('in_group'))
{
function in_group($groups, $id = FALSE)
{
if(is_array($groups)){
foreach($groups as $group){
//print_r($group);
if(in_array($group, get_user_group($id))){
return TRUE;
}
}
} elseif(is_string($group)) {
if(in_array($group, get_user_group($id))){
return TRUE;
}
}
}
}
使用
if(in_group(array('hr'), 2)){
echo '<h1>IS IN THIS GROUP</h1>';
} else {
echo '<h1>IS NOT IN THIS GROUP</h1>';
}
在'get_user_group()',申報使用前的$ id陣列。但使用不同的名稱,如$ ids。因爲您已將$ FALSE分配給$ id。 –
@kumar_v感謝您的反饋,但是您可以用某種示例來解釋嗎?我無法清楚地理解你的評論。謝謝.. –
啊!得到它的工作...非常感謝。我可以在答案中發佈解決方案 –