PHP-开关、大小写和“继续”-多选通用然后是特定
有没有一种方法可以在不使用另一个开关盒的情况下进行常规处理,而不是特定处理PHP-开关、大小写和“继续”-多选通用然后是特定,php,switch-statement,case,Php,Switch Statement,Case,有没有一种方法可以在不使用另一个开关盒的情况下进行常规处理,而不是特定处理 switch ($var) { case 'A' : /* SPECIFIC TREATMENT 1 */ break; case 'B' : /* SPECIFIC TREATMENT 2 */ break; case 'C' : case 'D' : case 'E' : /* GENERIC, COMMON TREATMENT */ // go o
switch ($var) {
case 'A' :
/* SPECIFIC TREATMENT 1 */
break;
case 'B' :
/* SPECIFIC TREATMENT 2 */
break;
case 'C' :
case 'D' :
case 'E' :
/* GENERIC, COMMON TREATMENT */
// go on, check again $var ! :(
case 'C' :
/* SPECIFIC TREATMENT 3 */
break;
case 'D' :
/* SPECIFIC TREATMENT 4 */
break;
case 'E' :
/* SPECIFIC TREATMENT 5 */
break;
case 'F' :
/* SPECIFIC TREATMENT 6 */
break;
default :
/* DEFAULT TREATMENT */
break;
}
为了避免重复代码,它将非常有效。。。在第一个开关中使用另一个开关是我希望避免的事情。谢谢 呃
$txt = "You pick the letter ".$var;
可能吗?呃
$txt = "You pick the letter ".$var;
$txt = "you picked the letter ";
$var = 'C';
switch ($var) {
case 'A' :
$txt .= "A";
break;
case 'B' :
$txt .= "B";
break;
case 'C' :
$txt .= "C";
break;
case 'D' :
$txt .= "D";
break;
default :
$txt = 'you didnt pick A or B or C or D';
break;
}
echo $txt;
可能吧
$txt = "you picked the letter ";
$var = 'C';
switch ($var) {
case 'A' :
$txt .= "A";
break;
case 'B' :
$txt .= "B";
break;
case 'C' :
$txt .= "C";
break;
case 'D' :
$txt .= "D";
break;
default :
$txt = 'you didnt pick A or B or C or D';
break;
}
echo $txt;
根据您随后的编辑,我将保持相同的方法
$cases = array('A','B','C','D','E','F','G');
if (in_array($var, $cases)) {
$common = array('C','D','E');
if (in_array($var, $common)) {
/* GENERIC, COMMON TREATMENT */
}
switch ($var) {
case 'A' :
/* SPECIFIC TREATMENT 1 */
break;
case 'B' :
/* SPECIFIC TREATMENT 2 */
break;
case 'C' :
/* SPECIFIC TREATMENT 3 */
break;
case 'D' :
/* SPECIFIC TREATMENT 4 */
break;
case 'E' :
/* SPECIFIC TREATMENT 2 */
break;
case 'F' :
/* SPECIFIC TREATMENT 3 */
break;
case 'G' :
/* SPECIFIC TREATMENT 4 */
break;
}
} else {
/* DEFAULT TREATMENT */
}
根据您随后的编辑,我将保持相同的方法
$cases = array('A','B','C','D','E','F','G');
if (in_array($var, $cases)) {
$common = array('C','D','E');
if (in_array($var, $common)) {
/* GENERIC, COMMON TREATMENT */
}
switch ($var) {
case 'A' :
/* SPECIFIC TREATMENT 1 */
break;
case 'B' :
/* SPECIFIC TREATMENT 2 */
break;
case 'C' :
/* SPECIFIC TREATMENT 3 */
break;
case 'D' :
/* SPECIFIC TREATMENT 4 */
break;
case 'E' :
/* SPECIFIC TREATMENT 2 */
break;
case 'F' :
/* SPECIFIC TREATMENT 3 */
break;
case 'G' :
/* SPECIFIC TREATMENT 4 */
break;
}
} else {
/* DEFAULT TREATMENT */
}
等等。您仍然会得到$common的重复,但至少比您可能想要做的要少
等等。您仍然可以重复使用$common,但至少它比您可能想做的要少。nono这只是一个例子,我不能这么做^^@Ash_979;:你说不能这么做是什么意思?当然,如果您能够为了切换的目的对它进行比较,您可以这么做吗?除非您想显示比较操作数以外的内容?很抱歉,我没有解释清楚。再次检查代码,如果你不介意的话,这只是一个例子,我不能做^^^@Ash_:你说不能做是什么意思?当然,如果你能够为了切换的目的比较它,你可以做吗?除非您想显示比较操作数以外的内容?很抱歉,我没有解释清楚。再次检查代码,如果你一点也不介意的话!但我会选择@kolink-answer,因为在我的案例中,有些案例没有通用的处理方法。我还要编辑一次;一点也不坏!但我会选择@kolink-answer,因为在我的案例中,有些案例没有通用的处理方法。我还要编辑一次;可爱的我想这正是我想要的。编辑我的文章玛瑙。我想这正是我想要的。再次编辑我的帖子