非常に単純な質問... if文が機能しないという問題がありますか?私が望むのは、$ quantityが20、または40、または80、または160と表示されない場合のステートメントです。そうでない場合や文
if($quantity != '20' || $quantity !='40' || $quantity != '80' || $quantity != '160')
{
echo "here";
}
いずれかの提案があります。 :)
非常に単純な質問... if文が機能しないという問題がありますか?私が望むのは、$ quantityが20、または40、または80、または160と表示されない場合のステートメントです。そうでない場合や文
if($quantity != '20' || $quantity !='40' || $quantity != '80' || $quantity != '160')
{
echo "here";
}
いずれかの提案があります。 :)
はこれを試してみてください、それは(IMO)クリーナーです:
エルスif (!in_array($quantity, array(20, 40, 80, 160))
{
echo "here";
}
だけ&&
で||
を交換してください。
(または)& &(と)による;)
何かが20あるかどうかをチェック。この方法は、何かが40であれば、あなたがチェックなどですから、たとえば40を持っている最初のチェック(= 20)だけ! (あなたが使用しているので)Trueを返し、2回目以降のチェックには達しません。
$quantity
が40の場合は20ではないため、条件を満たす。
$ quantityがいずれかの値に等しくならないようにするには、 '||'オペレータ 'および' & & 'に送信します。
アルゴリズムを計算することで、より高い数字を確認するのが簡単になりました。
反復:
<?php
for ($i = 0; $i <= 3; $i++) {
if ($quantity == pow(2,$i)*20) { echo "not here"; goto matched; }
}
echo "here";
matched:
?>
その他の機能:
<?php
if (!in_array($quantity,
array_map(
function ($i) { return pow(2,$i)*20; },
range(0,3)
)
)) {
echo "here";
} else {
echo "not here";
}
?>