有没有更简单的方法来检查变量是否等于各种数字?

时间:2009-10-28 09:58:34

标签: php

这就是我目前的

if ($j == 1 || $j == 2 || $j == 3)

有没有更简单的方式来写这个。有点像...

伪代码

if ($j == 1-3)

3 个答案:

答案 0 :(得分:7)

以下是使用in_array()

的一种方法
if (in_array($j, array(1,2,3)))
{
    //do something
}

或者如何使用range()制作数组

if (in_array($j, range(1,3)))
{
    //do something
}

然而,构建一个数组只是为了检查一个狭窄,连续的范围,这是非常低效的。那简单地说:

if ($j >= 1 && $j <= 3)
{
    //do something
}

如果$ j的其他值将触发不同的操作,则切换可能更合适...

switch($j)
{
    case 1:
    case 2:
    case 3:
        //do something
        break;        

}

答案 1 :(得分:4)

如果是一个范围,你可以简单地做:

if ($j >= 1 && $j <= 5) ...

答案 2 :(得分:1)

保罗很好,但如果你有一个很大的数字,那么你可能想要使用range

if (in_array($j, range(0, 100)))
{

}