帮助PHP IF语句-或与等


Help with PHP IF statement - OR AND etc

我有一个小问题。我希望创建一个IF语句,它的反应如下:

  • 如果用户不是admin (forum_admin)并且他们不是票证的所有者(userid),但是版主被允许查看票证(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");
 if ( isAdmin || (allowModerators && isModerator) || userID == ticketUser ) allowToSeeTicket
 if ( ! (isAdmin || (allowModerators && isModerator) || userID == ticketUser) ) notAllowToSeeTicket

不能混合使用and和or操作符。彼此会宠坏对方。应该使用括号对表达式进行分组,就像算术中的

一样。

重构你的代码使其可读性更好

$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");
}