结合很多||在if语句中

时间:2011-12-19 19:48:00

标签: php

有没有更简洁的方法来做这样的事情,而不必多次重复$var

if($var == "A" || $var == "L" || $var == "N" || 
   $var == "Q" || $var == "U" || $var == "V")

8 个答案:

答案 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