if语句为id的多个条件

时间:2017-04-24 14:22:22

标签: php

我有一个名为roles的数据库表。它包含5个角色,ID为1到5,我已经得到下面的代码只能使用1个id,但是想要添加更多而不需要使用整个块。所以,如果id等于3,4,5显示链接。我可以在if?

中添加多个id
while ($row = mysqli_fetch_assoc($result)) {      
    $RoleID = $row['RoleID'];

    if ($RoleID == 3) {                                        
        echo '<li><a href="/admin/index.php"><span>Admin Area</span></a></li>';
    }
}

3 个答案:

答案 0 :(得分:4)

我猜您可以使用in_array

$admin_array = [3,4,5];
while ($row = mysqli_fetch_assoc($result)) {      
   if (in_array($row['RoleID'], $admin_array) {                                        
       echo '<li><a href="/admin/index.php"><span>Admin Area</span></a></li>';
 }
}

答案 1 :(得分:0)

希望下面的代码可以帮到你 我使用了in_array()函数

while ($row = mysqli_fetch_assoc($result)) {      
        $RoleID = $row['RoleID'];

        if (in_array($RoleID,array(3,4,5))) {                                        
            echo '<li><a href="/admin/index.php"><span>Admin Area</span></a></li>';
        }
    }

答案 2 :(得分:0)

当你想让一个id做类似的东西但可能以同样的方式结束时会提供一些额外的灵活性的东西是使用一个开关盒。

while ($row = mysqli_fetch_assoc($result)) {      
    switch($row['RoleID']) {
        case 1:
            //Id 1 logic only
            break;
        case 2:
            //Id 2 logic only
            break;           
        case 3:
            //Without a break it will fall through.
            //Nice because if for some reason you need
            //custom for individual id do it with no break
        case 4:
        case 5:
            echo '<li><a href="/admin/index.php"><span>Admin Area</span></a></li>';
            break;
        default:
             //Do something here for instances when a ROLE ID is not found
    }
}