我正在用PHP构建用户模块.它读取基于文本的用户类型,并分配一个数值来管理报表视图权限:
if ($usr_type == "Architect"){ $usr_rights = 0; }
if ($usr_type == "Director"){ $usr_rights = 1; }
if ($usr_type == "Manager"){ $usr_rights = 2; }
if ($usr_type == "Associate"){ $usr_rights = 3; }
if ($usr_type == "Assistant"){ $usr_rights = 4; }
if ($usr_type == "External"){ $usr_rights = 5; }
Run Code Online (Sandbox Code Playgroud)
有没有更简单,更优雅的方式来做到这一点?
你可以switch()
用来做if工作.
switch($usr_type) {
case "Architect":
$usr_rights = 0;
break;
case "Director":
$usr_rights = 1;
break;
case "Manager":
$usr_rights = 2;
break;
case "Associate":
$usr_rights = 3;
break;
case "Assistant":
$usr_rights = 4;
break;
case "External":
$usr_rights = 5;
break;
}
Run Code Online (Sandbox Code Playgroud)
或者使用数组.
$valid_types = array(
"Architect" => 0,
"Director" => 1,
"Manager" => 2,
"Associate" => 3,
"Assistant" => 4,
"External" => 5
);
if(isset($valid_types[$usr_type])) {
$usr_rights = $valid_types[$usr_type];
}
Run Code Online (Sandbox Code Playgroud)