답변:
user_roles () 및 array_search () 사용하면 매우 간단 합니다. 아래는 이름과 일치하는 역할이 있으면 역할 ID를 반환하고 그렇지 않으면 FALSE를 반환하는 함수입니다.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
하나의 라이너는 다음과 같습니다.
$rid = array_search('administrator', user_roles());
역할의 시스템 이름을 알고 있으면 충분합니다 user_role_load_by_name()
.
if ($role = user_role_load_by_name('Role Name')) {
// The role ID is in $role->rid.
}
역할이 존재하지 않는 경우 ...
$role = user_role_load_by_name('Role Name');
$role_id = $role ? $role->rid : NULL;
역할과 ID를 식별하는 가장 좋은 방법은 SQL입니다. SQL 편집기에서이 쿼리를 실행하십시오.
select * from roles;
그리고 id와 weight를 포함한 역할 목록을 얻게됩니다.