有没有更简洁的方法来做这样的事情,而不必多次重复$var
?
if($var == "A" || $var == "L" || $var == "N" ||
$var == "Q" || $var == "U" || $var == "V")
答案 0 :(得分:9)
你可以做in_array
。将右侧放在一个数组中。
因此...
$arr = array("A", "L", "N", "Q", "U", "V");
if (in_array($var, $arr)) {
}
这对于可维护性来说很简单。如果您有更复杂的事情,switch
可能是最好的。
答案 1 :(得分:4)
尝试使用数组和in_array()
$check = array('A','L','N','Q','U','V');
if (in_array($var, $check)) { //Stuff }
答案 2 :(得分:3)
使用in_array
例如:
$items = array("A", "L", "N", "Q", "U", "V");
if(in_array($var, $items)) {
//Do Something
}
答案 3 :(得分:3)
你可以这样做:
$a = array("A", "L", "N", "Q","U", "V");
if (in_array($var, $a)) {
...
}
答案 4 :(得分:3)
您可以将字母放入数组中,然后使用in_array
。
$letters = array('A', 'L', 'N', 'Q', 'U', 'V');
if(in_array($var, $letters)){
// Do Something
}
或者您可以使用switch
。
switch($var){
case 'A':
case 'L':
case 'N':
case 'Q':
case 'U':
case 'V':
// Do Something
break;
}
答案 5 :(得分:2)
if (strpos("ALNQUV", $var) !== false)
怎么样?
答案 6 :(得分:2)
您可以将in_array用于此
答案 7 :(得分:0)
创建一个包含A,L,...的数组,并检查$ var是否等于它,如果不是将$ temp保持为1并检查$ temp是否为1