当前位置: 首页 > 知识库问答 >
问题:

如何在开关情况下有两个值

凤自珍
2023-03-14

你好,我有个问题。以下是代码示例

我有一个多选表格:

<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,结果将是:

工厂GB11

ZMD_LPLCNMAT_GB11 ZMD_LPQAMAT_GB11 ZMD_LSOCNMAT_GB11 ZMD_PLNTMAT_GB11 ZMD_SLSVMAT_GB11

当我选择GB10和GB20时,我不想选择得到结果,例如“测试”,而不是它们的组合。

我试着这样做,但结果不正确:

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

        echo 'test';
        break;
        }

结果仅适用于GB10。

谢谢你的帮助。

共有1个答案

夔学智
2023-03-14

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

$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";
 类似资料: