我知道这不是这样做的方法,但我在尝试使用条件语句设置变量时遇到了一些麻烦。
对于某些上下文,$foo
和$foo_1
正在$foo_2
检查是否设置了表单字段,如果是,则设置为$bar
等于每个条件附带的计算。
if(isset($foo)) {
$bar = ($baz * 52) * ($qux);
}
if(isset($foo_1)) {
$bar = ($baz_1 * 12) * ($qux);
}
if(isset($foo_2)) {
$bar = ($baz_2 * $qux);
}
这是因为现有代码在计算中使用了 $bar
$a = ($b / $bar)
并$a
在各种情况下进一步向下传递。
实际上,只有第一个$foo
条件$bar
正确通过,所有其他条件 $bar 输出为 NULL。
编辑:澄清上面的代码(这是不正确的)并在下面更新我的示例:
$foo = isset($form['first'] ? $form['first'] : '';
$foo_1 = isset($form['second'] ? $form['second'] : '';
$foo_2 = isset($form['third'] ? $form['third'] : '';
if(isset($foo)) {
$bar = ($foo * 52) * $qux;
}
if(isset($foo_1)) {
$bar = ($foo_1 * 12) * $qux;
}
if(isset($foo_2)) {
$bar = $foo_2 * $qux;
}
Revent、Oswald 和 RoyalBG 的建议指出我的代码没有正确设置变量,事实就是如此。$baz
, $baz_1
,$baz_2
已弃用且不存在,并替换为$foo
, $foo_1
,$foo_2
以伴随所需输入的条件。一旦我清理了这个,我将使用 switch 语句而不是我上面写的。下面的所有评论都非常有帮助感谢您的帮助。