Pal*_*azk 2 php switch-statement
我能以更清洁的方式实现这一目标吗?会真的被批评.
switch($vocation) {
case 1: $vocation = "Sorcerer"; break;
case 2: $vocation = "Druid"; break;
case 3: $vocation = "Paladin"; break;
case 4: $vocation = "Knight"; break;
case 5: $vocation = "Master Sorcerer"; break;
case 6: $vocation = "Elder Druid"; break;
case 7: $vocation = "Royal Paladin"; break;
case 8: $vocation = "Elite Knight"; break;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
并抱歉标题无法找出更好的一个
not*_*oop 10
您可以使用数组而不是switch语句.
$vocations = array("Sorcerer", "Druid" ...);
$vocationStr = $vocations[$vocation - 1];
Run Code Online (Sandbox Code Playgroud)
要么
$vocations = array(1 => "Sorcerer", 2 => "Druid" ...);
$vocationStr = $vocations[$vocation];
Run Code Online (Sandbox Code Playgroud)
就个人而言,我反对重用$ vocation来引用两种类型(整数和字符串),因为它们很可能是程序中的两个不同概念.
我还建议为这些值创建一个枚举类型,但这取决于上下文.