如何简化PHP逻辑运算符?
How to simplify PHP logical operator?
我搜索并阅读了文档并对这些逻辑运算符进行了试验,但似乎没有任何效果。我想简化我的 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,但我专门寻找逻辑运算符。
提前致谢。
我喜欢这样:
<?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() 函数。
in_array — Checks if a value exists in an 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..
}
?>
您可以使用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
}
?>
我搜索并阅读了文档并对这些逻辑运算符进行了试验,但似乎没有任何效果。我想简化我的 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,但我专门寻找逻辑运算符。
提前致谢。
我喜欢这样:
<?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() 函数。
in_array — Checks if a value exists in an 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..
}
?>
您可以使用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
}
?>