これに1または2を入れると、4が返されます。これはなぜですか?これはむしろ基本的であれば、私はPythonのものに慣れています。OR文が間違った番号を返す
e = 1;
f=0;
if(e==1){f=1;}
if(e==2){f=2;}
if(e== 3 or 4){f=4;}
echo f;
これに1または2を入れると、4が返されます。これはなぜですか?これはむしろ基本的であれば、私はPythonのものに慣れています。OR文が間違った番号を返す
e = 1;
f=0;
if(e==1){f=1;}
if(e==2){f=2;}
if(e== 3 or 4){f=4;}
echo f;
交換を試みてください:
if(e== 3 or 4){f=4;}
と
if(e == 3 or e == 4){ f=4; }
値4は、言語によってTRUE
とみなされます。文がある(FALSE or TRUE)
を見ているのであれば、あなたのコードでは、1 == 3
は、FALSE
あるのでf
が4
に設定されている、TRUE
に等しい。このリンク再見ておいてください。次の文は常にPHP Booleans
_ "あなたのコードでは、3 == 3は偽です" _どの世界で??? 'e == 3'(あるいは' 1 == 3'/'2 == 3')を意味しませんか? – FirstOne
修正済み。 eは1ではなく3である。 –
あなたはbooleansで見てみるならば、あなたはほとんどすべてがあることがわかりますが、PHPでtrue
に(同じページに記載されたそれらの値を除く)に等しいです。常にtrue
で、あなたはその(奇妙な、しかし予想外ではない)の結果を得る
if($e==3 or true)
そしてanything or true
以来:だから、あなたが本当に持っていることは、このようなものです。あなたは$e
があるかどうかを確認したい場合には
ので、同じようにそれを行う、3
または4
に等しい:これらはif..else
の文ではないので、すべての条件がされていることを
if($e==3 || $e==4){
注意チェック拡張バージョンを見てみましょう:
if($e==1){
$f=1;
}
if($e==2){
$f=2;
}
if($e==3 or 4){
$f=4;
}
これ/ \は後者のみをチェックし、以前のフィットの場合なしですべての条件以来
if($e==1){
$f=1;
}elseif($e==2){
$f=2;
}elseif($e==3 or 4){
$f=4;
}
は異なっています。
or
ステートメントの $f = ($e==3 || $e==4) ? 4 : $e;
あなたはやり方を教えてくださいそれは正しい? – Barmar
、これはあなたが望むものである:
if (($e == 3) || ($e == 4)) {
$f=4;
}
を本当のことになるだろうことは
if(e== 3 or 4)
'場合は、(Eの== 3またはE == 4){F = 4;}'あなたはまた、私たちにエーテル:右の変数構文を必要とする... –
は、あなたや文では動作しません。あなたがそう思っているように。基本的に次のようになります: 'e == 3 'または' '(4)' 'eが何であるかにかかわらず、' e == 3'が真であると評価された場合、 '4'は常にtrueと評価されます。 if文を入力します。また、すべての単一のif文があります。 – Rizier123
エラー報告を有効にして、ぼんやりした画面を準備してください!あなたのページの上部に 'error_reporting(E_ALL);'を入れてください。 – MonkeyZeus