在PHP中列出多个条件的最短方法

时间:2015-02-04 10:07:24

标签: php

以下是否有更短的方法在PHP中使用OR

if($cat->getId()==44 || $cat->getId()==8 || $cat->getId()==24)

例如,语法正确的方式如: -

if($cat->getId()==44, 8, 24

不使用in_array(),因为在这种情况下,预定义类别ID并不简单。

提前致谢。

编辑04/02/2015

没有意识到PHP 5.4中引入的缩短的in_array()语法,因此在服务器上升级了PHP,这非常适用于我之后的事情 - 感谢您的回答指出这一点。

3 个答案:

答案 0 :(得分:2)

尝试有点创意。例如,您可以使用in_array()。 经验法则: 如果您认为有更简单的方法来编写表达式,那么就有一个。

<?php

$ids = [44,8,24];

if( in_array($cat->getId(), $ids) )
{
    echo "Do Something";
}

或一行:

<?php

if( in_array($cat->getId(), [44,8,24]) )
{
    echo "Do Something";
}

答案 1 :(得分:2)

尝试使用in_array -

$array = array(44, 8, 24);
if(in_array($cat->getId(), $array)) {

答案 2 :(得分:1)

在我看来,最好的方法是:

if(in_array($cat->getId(), array(44, 8, 24))
{
...
}

在较新的(5.5+)版本的PHP中,您可以使用短数组表示法,例如:

if(in_array($cat->getId(), [44, 8, 24])
{
...
}