案例2的开关盒等于案例1加案例0

时间:2013-08-14 15:34:27

标签: php switch-statement case

我有一个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;
}

3 个答案:

答案 0 :(得分:1)

为什么不是这样的:

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;
}

答案 1 :(得分:1)

使用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;
}

答案 2 :(得分:1)

将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;
}