PHP if语句具有多个值

时间:2013-10-02 14:29:34

标签: php if-statement

是否有更短的写作方式?

<? 
if($_GET['id']==1 ||
$_GET['id']==3 ||
$_GET['id']==4 || 
$_GET['id']==5)
{echo 'does it really have to be this explicit?'};
?>

或许这样的事情?

<?
if($_GET['id']==1 || 3 || 4 || 5){echo 'this is much shorter'};
?>

5 个答案:

答案 0 :(得分:24)

试试:

if ( in_array($_GET['id'], array(1, 3, 4, 5)) ) {}

答案 1 :(得分:2)

可能不会更短但更具可读性。尝试使用in_array()函数:

if (in_array($_GET['id'], array(1, 3, 4, 5)))
{
  echo "What about this?";
}

答案 2 :(得分:1)

也许开关可能有帮助

switch($_GET['id']) {
    case 1: 
    case 3: 
    case 4: 
    case 5:
        echo 'Slect maybe :P';
        break;
}

答案 3 :(得分:1)

您可以使用如下的正则表达式:

preg_match(['1-4']);

答案 4 :(得分:0)

声明一个数组:

$values = array(1,3,4,5);

获取变量

$id = $_GET['id'];

现在使用PHP in_array();

if(in_array($id, $values)){
//do something
}

了解in_array()