PHP开关语句比较问题

PHP开关语句比较问题,php,html,mysql,Php,Html,Mysql,所以我有一个叫做乘数的变量,它包含一个特定的值,这取决于用户注册的内容。我想写的是 如果乘数等于“久坐”,则将其值设为$sedprimulator 如果乘数等于“轻度”,则将其值设为$lightmultiplier 我被这件事缠住了,似乎不知道该怎么写 switch ($multiplier==) { case "sedentary": $multiplier=$sedmultiplier; break; case "lightly"

所以我有一个叫做乘数的变量,它包含一个特定的值,这取决于用户注册的内容。我想写的是

如果乘数等于“久坐”,则将其值设为
$sedprimulator

如果乘数等于“轻度”,则将其值设为
$lightmultiplier

我被这件事缠住了,似乎不知道该怎么写

  switch ($multiplier==) {
      case "sedentary":
         $multiplier=$sedmultiplier;
         break;
     case "lightly":
         $multiplier=$lightmultiplier;
          break;
      case "moderately":
         $multiplier=$modmultiplier;
         break;
      case "very":
         $multiplier=$verymultiplier;
         break;
      case "extremely":
         $multiplier=$extrememultiplier;
         break;
      default:
          multiplier==0;
  }

$multiplier==替换为$multiplier,您的代码应该可以工作

像这样:

switch ($multiplier) 
{
  case "sedentary":
     $multiplier=$sedmultiplier;
     break;
 case "lightly":
     $multiplier=$lightmultiplier;
      break;
  case "moderately":
     $multiplier=$modmultiplier;
     break;
  case "very":
     $multiplier=$verymultiplier;
     break;
  case "extremely":
     $multiplier=$extrememultiplier;
     break;
  default:
      $multiplier==0;
 }

就像@jeroen建议的那样,我会将乘数设置为数组。通过这种方式,您可以重用它们并更轻松地添加/删除乘数

// Create the array with name => multiplier
$multipliers = [
    "sedentary"  => $sedmultiplier,
    "lightly"    => $lightmultiplier,
    "moderately" => $modmultiplier,
    "very"       => $verymultiplier,
    "extremely"  => $extrememultiplier,
    // ... just add more here, if needed...
];

// Check if we have a key with the current name.
// If we do, return the value, otherwise return 0 as default.
$multiplier = array_key_exists($multiplier, $multipliers)
    ? $multipliers[$multiplier]
    : 0;

您需要删除第一行的
==
。如果您使用数组来存储键和值,您可以使这变得容易得多?在
默认值:
部分中,将此
$multiplier==
替换为
$multiplier
,您缺少
$
乘数变量前面的
$
。很好地解释了:-)=>的作用是什么?我查看了数组,但示例没有显示此运算符。谁能再进一步解释一下吗?:)@PMG-如果您查看PHP数组,不可能没有看到像这样的
=>
:<代码>$array=['key'=>value']。请检查:。检查第一个示例。