2

あなたが元気であることを願っています。複数の not 演算子を含む複数の php if 条件を使用したい次のコードに取り組んでいますが (例を以下に示します)、次の php コードを実行すると、常に true が返されます (常に括弧内のコンテンツを常に実行することを意味します)。どの条件も真ではありません。次のコードの問題は何ですか。PHP条件で複数の!=演算子を使用するための特定の構文またはルールはありますか? そして、!= 演算子を == 演算子に置き換えて次のコードを使用すると、正常に動作することに驚いています。

if( $ext!="exe" || $ext!="html" ||  $ext!="htm"  ||  $ext!="js" ||  $ext!="iso" ||  $ext!="zip"  ||  $ext!="rar" )
{ // ececk extension
    echo $ext."extension";

}
else{
    echo "not match";   
}

あなたの親切な返事を待っています。私の悪い英語で申し訳ありません。

4

2 に答える 2

8

より良いコード:

$allowed = array('jpeg','png');

if(in_array($ext,$allowed)){
  echo "Correct";
}
else {
 echo "Wrong";
}
于 2013-04-27T07:13:37.797 に答える
0

OR の代わりにユーザー XOR 演算子を使用すると、すべての条件が同一である必要があり、すべての条件のいずれかが同一である場合は XOR が true を返します。

  if(!($ext!=="exe") xor ($ext=="html")){ //Add more conditions
    //each condition in new brackets & ! sign in start before all conditions

 { // ececk extension
                echo $ext."extension";

            }
            else{
                echo "not match";   
            }

それが役立つことを願っています

于 2016-12-25T20:32:19.040 に答える