1

変数は1 つまたは2 つ$varでなければならず、そうでない場合はエラーをスローします

if($var != "one" && $var != "two")
{
    exit('$var must be either one or two');
}

これは機能します。ただし$var、文字列であり、両方ではなく1つの値しか保持できないため、そのように書くのは論理的ではないのでしょうか?

4

4 に答える 4

5

それは結構です、非論理的なコードは($var == 'one' && $var == 'two')

1つまたは2つではないことを確認しています-変数は無限の量の値になることはできません。

于 2012-07-07T16:09:09.890 に答える
3

次のように試すことができます。

$possible = Array( "one", "two" );
if(!in_array($var, $possible) ) {
    echo "$var can be either of: " . implode($possible, ", ");
}

このようにして、後でチェックする値をさらに含めることができます。

于 2012-07-07T16:09:54.380 に答える
2
if( !( $var == "one" || $var == "two" ) )
{
    exit('$var must be either one or two');
}

これは、$var コンテナーが「1」か「2」かを確認する方法です。他の回答で述べたように、代替手段がありますが、なぜ物事を複雑にするのですか?

于 2012-07-07T16:08:00.437 に答える
-1

あなたが書いたものを書くことは完全に論理的です!

あなたが書いているのは、IF $var is not one (つまり、それはまだ他のものである可能性があることを意味します) AND IF $var is also not two (この時点で、両方の可能性を除外しました)、THEN エラーをスローします!

また、使用することをお勧めしますthrow new Exception('Error Message');

于 2012-07-07T16:08:14.860 に答える