为具有多个价值可能性的变量分配一个值

n0n*_*g0n 1 php variables if-statement switch-statement

在一些情况下,我遇到过这个问题,我只需要问一下是否有更好的东西.我有一个值可以通过派克分配给它的数字.数字意味着什么,所以将其输出给用户.例如,我需要将1更改为对用户来说意味着什么的东西.这是一个代码示例:

switch($data['priority']) {
case 1:
    $priority = 'Low';
    break;
case 2:
    $priority = 'Medium';
    break;
case 3:
    $priority = 'High';
    break;
default:
    $priority = 'None';
    break;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用较少的代码将值分配给优先级?我知道在JavaScript中你可以做多个三元运算符(var data = type == 1 ? 'Good' : type == 2 ? 'Bad' : type == 3 ? 'Unknown' : '';)但PHP不允许这样做.我知道你也可以做多个if,else if else else if else语句,但这看起来好像是很多额外的代码.有没有更好的方法来做我要问的事情?

Dan*_*l M 6

一种可能是使用数组作为映射:

$map = array(1 => 'Low', 2 => 'Mid', ...);
$prioName = isset($map[$prio]) ? $map[$prio] : 'None';
Run Code Online (Sandbox Code Playgroud)