Php 执行if条件时,开关大小写值传递不起作用

Php 执行if条件时,开关大小写值传递不起作用,php,switch-statement,Php,Switch Statement,这是我用来显示下拉值的代码: switch ($_POST['input_102']) { case 14: $mailling=$mailling.'<li>Priority mail (domestic/US only) <span>$14.00</span></li> '; break; case 40: $mailling=$mailling.'<

这是我用来显示下拉值的代码:

 switch ($_POST['input_102']) {
     case 14:
            $mailling=$mailling.'<li>Priority mail (domestic/US only)   <span>$14.00</span></li> ';
        break;
     case 40:
            $mailling=$mailling.'<li>Courier/Express (domestic/US only) <span>$40.00</span></li> ';
        break;
     case 14:
             $mailling=$mailling.'<li>Air Mail (overseas/international) <span>$14.00</span></li> ';
         break;
     case 80:
            $mailling=$mailling.'<li>Courier/Express (overseas/international) <span>$80.00 </span></li> ';
         break;
 }
开关($\u POST['input\u 102'])){
案例14:
$mailling=$mailling.“
  • 优先邮件(仅限国内/美国)$14.00
  • ”; 打破 案例40: $mailling=$mailling.“
  • 快递/快递(仅限国内/美国)$40.00
  • ”; 打破 案例14: $mailling=$mailling.“
  • 航空邮件(海外/国际)$14.00
  • ”; 打破 案例80: $mailling=$mailling.“
  • 快递/快递(海外/国际)$80.00
  • ”; 打破 }
    这里我面临一个问题,我有两个值,比如14。 所以我像这样修改了代码。它执行,但当if case执行时,它不显示任何内容,而else case显示结果:

     switch ($_POST['input_102']) {
           case 14:
                 //custom code
                if($_POST['input_13']=='United States'){
                    $mailling=$mailling.'<li>Priority mail (domestic/US only)   <span>$14.00</span></li> ';
                 }else{
                    $mailling=$mailling.'<li>Air Mail (overseas/international) <span>$14.00</span></li> ';
                 }
                  //custom code end 
    
               break;
           case 40:
                 $mailling=$mailling.'<li>Courier/Express (domestic/US only) <span>$40.00</span></li> ';
               break;
    
           case 80:
                 $mailling=$mailling.'<li>Courier/Express (overseas/international) <span>$80.00 </span></li> ';
               break;
      }                 
    
    开关($\u POST['input\u 102'])){
    案例14:
    //自定义代码
    如果($_POST['input_13']=='United'){
    $mailling=$mailling.“
  • 优先邮件(仅限国内/美国)$14.00
  • ”; }否则{ $mailling=$mailling.“
  • 航空邮件(海外/国际)$14.00
  • ”; } //自定义代码结束 打破 案例40: $mailling=$mailling.“
  • 快递/快递(仅限国内/美国)$40.00
  • ”; 打破 案例80: $mailling=$mailling.“
  • 快递/快递(海外/国际)$80.00
  • ”; 打破 }
    我打印了$_POST['input_13'],它的值是美国。为什么我得不到if案例的结果。

    试试这段代码

    if($\u POST['input\u 13']=='United'){

    三个等号带来更高的精度

    另一种方式是:

    if($_POST[“input_13”]=“美国”){

    使用双引号,但影响不大,但测试结果相同


    一般来说,你的代码很完美,但服务器有时工作不正常。

    你需要调用其他条件吗?不取决于$\u POST['input\u 13']它将打印的国家名称。如果是我们,它将打印if Case或else@raheelshan