我已经搜索并阅读了文档并对这些逻辑运算符进行了实验,但似乎没有任何效果。我想简化我的if语句,这样如果变量相同,我就不需要继续重写它。例如:
<?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 {
....
}
?>
我想简化它是这样的:
<?php
if($var_1 == ('val_1' || 'val_2' || 'val_3') || $var_2 == ('val_4' || 'val_2') || $var_3 == 'val_5') {
// Do something..
}
?>
但是上面的代码不起作用,所以不是为每个不同的值反复写$ var_1,我该怎么写呢?我正在使用IF语句,而不是SWITCH或任何其他语句严格寻找答案,我知道我可以在这种情况下使用switch,但我特意寻找逻辑运算符。
提前谢谢。
答案 0 :(得分: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()
答案 1 :(得分: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..
}
&GT;
答案 2 :(得分: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
}
?>