これがその方法ではないことはわかっていますが、条件ステートメントを使用して変数を設定しようとすると問題が発生します。
あるコンテキストでは$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 は NULL として出力されます。$bar
編集:上記のコード(間違っていた)を明確にし、以下の例を更新するには:
$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
目的の入力の条件を伴いました。これを片付けたら、上で書いたものの代わりに switch ステートメントを使用します。以下のコメントはすべて非常に役に立ちました。助けてくれてありがとう。$foo_1
$foo_2