如何在切换案例中

时间:2018-06-06 04:58:51

标签: php switch-statement

您好我有一个问题。这是代码示例:

我有一个多选形式:

<p>Plant</p><form action="" method="post">
   <select name="select9[]" multiple="multiple"style="height:90px;">
  <option value="CZ10">CZ10</option>
  <option value="CZ20">CZ20</option>
  <option value="GB10">GB10</option>
  <option value="GB11">GB11</option>
  <option value="GB20">GB20</option>
   </select>

这是我的开关案例:

 if(isset($_POST['select9'])){
$selectttttt = $_POST['select9'];
$aaaaaa="";
foreach($selectttttt as $option => $bbbbbb)
{
switch ($bbbbbb) {
  case 'CZ10':
        echo 'ZMD_LPLCNMAT_CZ10</br>ZMD_LPQAMAT_CZ10</br>ZMD_LSOCNMAT_CZ10</br>ZMD_PLNTMAT_CZ10</br>ZMD_SLSVMAT_CZ10</br>';
        break;
  case 'CZ20':
        echo 'ZMD_LPLCNMAT_CZ20</br>ZMD_LPQAMAT_CZ20</br>ZMD_LSOCNMAT_CZ20</br>ZMD_PLNTMAT_CZ20</br>ZMD_SLSVMAT_CZ20</br>';
        break;
  case 'GB10':
        echo 'ZMD_LPLCNMAT_GB10</br>ZMD_LPQAMAT_GB10</br>ZMD_LSOCNMAT_GB10</br>ZMD_PLNTMAT_GB10</br>ZMD_SLSVMAT_GB10</br>';
        break;
  case 'GB11':
        echo 'ZMD_LPLCNMAT_GB11</br>ZMD_LPQAMAT_GB11</br>ZMD_LSOCNMAT_GB11</br>ZMD_PLNTMAT_GB11</br>ZMD_SLSVMAT_GB11</br>';
        break;
  case 'GB20':
        echo 'ZMD_LPLCNMAT_GB20</br>ZMD_LPQAMAT_GB20</br>ZMD_LSOCNMAT_GB20</br>ZMD_PLNTMAT_GB20</br>ZMD_SLSVMAT_GB20</br>';
        break;
  case ($bbbbbb == 'GB20' && $bbbbbb=='GB10'):
        echo 'ZMD_LPLCNMAT_GB20</br>ZMD_LPQAMAT_GB20</br>ZMD_LSOCNMAT_GB20</br>ZMD_PLNTMAT_GB20</br>ZMD_SLSVMAT_GB20</br>';
        break;
        }

代码适用于如果用户选择例如GB11,结果将是:

PLANT GB11

ZMD_LPLCNMAT_GB11 ZMD_LPQAMAT_GB11 ZMD_LSOCNMAT_GB11 ZMD_PLNTMAT_GB11 ZMD_SLSVMAT_GB11

当我选择GB10和GB20时,我没有选择,例如我得到结果&#34; test&#34;而不是它们的组合。

我试图做这样的事情,但结果不正确:

case ($bbbbbb =='GB20' && $bbbbbb=='GB10'):

        echo 'test';
        break;
        }

结果仅适用于GB10。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

检查多个选项退出,然后您可以检查案例

$multiple = false;
if(in_array('GB20',$selectttttt) && in_array('GB29',$selectttttt)){
    $multiple = true;
}
foreach($selectttttt as $option => $bbbbbb)
.
.
.
case $multiple == true;
    echo "New Multiple Case";