2017-04-07 12 views
0

私は文書を検索して読んで、これらの論理演算子で実験しましたが、何も動作しないようです。 if文を単純化して、変数が同じであれば、書き直しを行う必要はありません。 、上記のコードは動作しません。しかしPHPの論理演算子を簡略化するには?

<?php 
if($var_1 == ('val_1' || 'val_2' || 'val_3') || $var_2 == ('val_4' || 'val_2') || $var_3 == 'val_5') { 
    // Do something.. 
} 
?> 

、そうではなく、それぞれ異なる値のために何度も$ VAR_1を書く:たとえば:

<?php 
if($var_1 == 'val_1' || $var_1 == 'val_2' || $var_1 == 'val_3' || $var_2 == 'val_4' || $var_2 == 'val_2' || $var_3 == 'val_5') { 
    // Do something 
} else { 
    .... 
} 
?> 

私はこのようなものにするためにそれを簡素化したいです一度それを書くには?私は厳密に答えをIFのステートメントを使用して、SWITCHや他のステートメントを使用して探している、私はこのケースのスイッチを使用することができます知っているが、私は特に論理演算子を探しています。

ありがとうございます。

答えて

0

あなたはin_array()機能を使用することができますか?。件名の詳細:http://php.net/manual/en/function.in-array.php。 など。

<?php 
//Define your arrays or get them from some query.. etc 
$array1 = array("val_1", "val_2", "val_3"); 
$array2 = array("val_4, val_2"); 
$array5 = array("val_5"); 

//Check if variables are in the defined arrays 
if (in_array("var_1", $array1) || in_array("var_2", $array2) || in_array("var_3", $array3)) { 
//Do something 

} 

?> 
+0

これはうまくいきます。 – Charas

2

は、私はこのような操作を行います。

<?php 
if(in_array($var_1, array('val_1', 'val_2', 'val_3')) || in_array($var_2, array('val_4', 'val_2')) || $var_3 == 'val_5') { 
    // Do something.. 
} 
?> 

in_array()

0

あなたはこのためにin_array()機能を使用することができます参照してください。

in_array - 配列に値があるかチェックする

<?php 

$var_1_array = array('val_1', 'val_2', 'val_3'); 
$var_2_array = array('val_2', 'val_4'); 
$var_3_array = array('val_5', 'val_6'); 

if(in_array($var_1, $var_1_array) || in_array($var_2, $var_2_array) || in_array($var_3, $var_3_array)) { 
    // Do something.. 
} 

>