【问题标题】:How to create variable with if multiple statement in php and print如何在php中使用if multiple语句创建变量并打印
【发布时间】:2020-09-01 18:52:31
【问题描述】:

我需要以下代码的帮助

$selected_payment_option =  'if($payment_mode == "cod"){ echo "Cash on Delivery ";}
                                        if($payment_mode == "stripe"){ echo "Stripe";}
                                        if($payment_mode == "bank"){ echo "Bank";}';

并希望打印为 $selected_pa​​yment_option

【问题讨论】:

标签: javascript php arrays variables


【解决方案1】:

有很多方法可以做到这一点

使用 if-else:

$payment_mode = "bank";
if($payment_mode == "cod")
  $selected_payment_option = "Cash on Delivery";
elseif($payment_mode == "stripe")
  $selected_payment_option = "Stripe";
elseif($payment_mode == "bank")
  $selected_payment_option = "Bank";
else
  $selected_payment_option = "your default value";
print($selected_payment_option)
// output: Bank

使用开关:

$payment_mode = "cash";
switch($payment_mode) {
  case "cod": $selected_payment_option = "Cash on Delivery"; break;
  case "stripe": $selected_payment_option = "Stripe"; break;
  case "bank": $selected_payment_option = "Bank"; break;
  default: $selected_payment_option = "your default value";
}
print($selected_payment_option);
// output: your default value

使用三元运算符:

$payment_mode = "stripe";
$selected_payment_option = $payment_mode == "cod" ? "Cash on Delivery "
  : ($payment_mode == "stripe" ? "Stripe" : ($payment_mode == "bank" ? "Bank" 
  : "your default value"));
print($selected_payment_option);
// output: Stripe

使用逻辑运算符:

$payment_mode = "bank";
$selected_payment_option = "your default value";
$payment_mode == "cod" && ($selected_payment_option = "Cash on Delivery") ||
  $payment_mode == "stripe" && ($selected_payment_option = "Stripe") ||
  $payment_mode == "bank" && ($selected_payment_option = "Bank");
print($selected_payment_option);
// output: Bank

使用关联数组:

$payment_modes = array("cod"=> "Cash on Delivery", "stripe"=> "Stripe", "bank" => "Bank");
$payment_mode = "cod";
$selected_payment_option = array_key_exists($payment_mode, $payment_modes) ?
  $payment_modes[$payment_mode] : "your default value";
print($selected_payment_option);
// output: Cash on Delivery

【讨论】:

    【解决方案2】:

    请为此类代码使用开关。它还具有捕获 $payment_mode 未设置为值的情况的好处。

    function getPaymentOption($payment_mode) {
        switch ($payment_mode) {
            case "cod":
                return "Cash on Delivery";
                break;
            case "stripe":
                return "Stripe";
                break;
            case "bank":
                return "Bank";
                break;
            default:
                return "unknown";
        }
    }
    

    这样使用:

    $selected_payment_option = getPaymentOption($payment_mode);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      相关资源
      最近更新 更多