帮助PHP IF语句 - 或者等等

时间:2011-08-28 15:20:55

标签: php if-statement

我有点问题。我希望创建一个IF语句,它应该像这样反应:

  • 如果用户不是管理员(forum_admin)并且他们不是故障单的所有者(userid),则允许BUT主持人查看故障单(allow_moderator_tickets)和用户是主持人(forum_moderator),然后他应该被允许查看票。

如何使用PHP if语句获取此信息。

到目前为止,我有这个:

 //If user is not allowed to view.  
    if($userdata['forum_admin']==0 && $ticketDetails['userid']!=$userdata['id'] || $sdata['allow_moderator_ticket']==0 && $userdata['forum_moderator']==1)
        redirect("?i=a");

2 个答案:

答案 0 :(得分:3)

 if ( isAdmin || (allowModerators && isModerator) || userID == ticketUser ) allowToSeeTicket

 if ( ! (isAdmin || (allowModerators && isModerator) || userID == ticketUser) ) notAllowToSeeTicket

答案 1 :(得分:0)

你不能混合和和或运营商。彼此会破坏另一个。 你应该使用括号对表达式进行分组,就像在算术中一样

重构代码以使其可读

会很好
$admin = ($userdata['forum_admin']);
$owner = ($ticketDetails['userid'] == $userdata['id']);
$moder = ($sdata['allow_moderator_ticket'] == 1 AND $userdata['forum_moderator']==1)

if !($admin OR $moder OR $owner) {
    redirect("?i=a");
}