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']代码>。请检查:。检查第一个示例。