切换大小写,大小写2等于大小写1加上大小写0


Switch case with case 2 equal to case 1 plus case 0

我有一个switch statement,当$value == 2时,交换机应该发布与case 0case 1相同的内容。

switch($value){
    case 0:
        print '<tr>';
        print '<td align="right">';
        print "Sup:";
        print '</td>';
        print '<td>';
        print $sup;
        print '</td>';
        print '</tr>';
    break;  
    case 1:
        print '<tr>';
        print '<td align="right">';
        print "Inf:";
        print '</td>';
        print '<td>';
        print $inf;
        print '</td>';
        print '</tr>';
    break;
    case 2:
      //this case should post case 0 and case 1 together
    break;
}

为什么不这样做:

function case0() {
   print '<tr>';
   print '<td align="right">';
   print "Sup:";
   print '</td>';
   print '<td>';
   print $sup;
   print '</td>';
   print '</tr>';
}
function case1() {
   print '<tr>';
   print '<td align="right">';
   print "Inf:";
   print '</td>';
   print '<td>';
   print $inf;
   print '</td>';
   print '</tr>';
}
switch($value) {
    case 0:
        case0();
    break;  
    case 1:
       case1();
    break;
    case 2:
      case0();
      case1(); 
    break;
}

您不能用switch语句来实现这一点。你可以使用这样的东西:

if ($value == 0 || $value == 2) {
    // do "zero" stuff
}
if ($value == 1 || $value == 2) {
    // do "one" stuff
}

或者:

switch ($value) {
    case 2:
    case 0:
       // do "zero" stuff
       if ($value == 0) break;
    case 1:
       // do "one" stuff
       break;
}

将HTML存储在变量中,然后在switch中使用它。

$superiore = '<tr>
<td align="right">
Limite Superiore:
</td>
<td>'.
$entry['lim_sup'].'CHF/100LT
</td>
</tr>';
$inferiore = '<tr>
<td align="right">
Limite Inferiore:
</td>
<td>'.
$entry['lim_inf'].'CHF/100LT
</td>
</tr>';
switch($value){
    case 0:
        print $superiore;
    break;  
    case 1:
        print $inferiore;
    break;
    case 2:
        print $superiore;
        print $inferiore;
    break;
}