php多案例运行函数中的切换案例?

php多案例运行函数中的切换案例?,php,function,for-loop,switch-statement,Php,Function,For Loop,Switch Statement,您好,上面的switch case语句,我想使用一个函数来运行多个循环来生成案例的名称,那么我可以知道如何在switch case语句上使用函数生成吗 switch(n){ case "badge01": case "badge02": case "badge03": case "badge04": case "badge05": //dosomething break; } 有可能做到这一点吗 感谢并为我糟糕的英语感到抱歉。根据 case表达式可以是计算结果为简单类型的任何表达式,

您好,上面的switch case语句,我想使用一个函数来运行多个循环来生成案例的名称,那么我可以知道如何在switch case语句上使用函数生成吗

switch(n){
case "badge01":
case "badge02":
case "badge03":
case "badge04":
case "badge05":
//dosomething
     break;
}
有可能做到这一点吗

感谢并为我糟糕的英语感到抱歉。

根据

case表达式可以是计算结果为简单类型的任何表达式,即整数或浮点数和字符串。这里不能使用数组或对象,除非它们被解除对简单类型的引用


恐怕您不能为
案例
语句创建循环,因此尝试会浪费时间。

您可以这样做,例如:

switch(n){
case badgenameloop():
//dosomething
     break;
}

不幸的是,对于OP来说,这是真正的程序员必须忍受的单调任务之一。很抱歉,这不会产生太多的逻辑,手动键入所有案例正是OP想要避免的,而将它们从case语句移动到函数调用并不能解决这一问题。根据这个解决方案,他们仍然必须输入每个案例
function badgenameloop($key)
{
    switch($key){
        case "badge01":
        case "badge02":
        case "badge03":
        case "badge04":
        case "badge05":
            echo "badge 1";
            break;
    }
}

function badgename2loop($key)
{
    switch($key){
        case "badge_2_01":
        case "badge_2_02":
        case "badge_2_03":
        case "badge_2_04":
        case "badge_2_05":
            echo "badge 2";
            break;
    }
}

$key = "badge_2_01";
switch($key){
    case badgenameloop($key): break;
    case badgename2loop($key): break;
}