我能以更清洁的方式实现这一目标吗?真的会被应用。

    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;

    }


谢谢!

对标题感到抱歉,找不到更好的标题

最佳答案

您可以使用数组而不是switch语句。

$vocations = array("Sorcerer", "Druid" ...);
$vocationStr = $vocations[$vocation - 1];


要么

$vocations = array(1 => "Sorcerer", 2 => "Druid" ...);
$vocationStr = $vocations[$vocation];


就我个人而言,我反对$ vocation的重用来引用两种类型(整数和字符串),因为它们很可能是程序中的两个不同概念。

我还建议改为为这些值创建一个Enum类型,但这取决于上下文。

09-12 14:36