PHP IF语句的帮助-或AND等
我有个小问题。我希望创建一个IF语句,其反应如下:PHP IF语句的帮助-或AND等,php,if-statement,Php,If Statement,我有个小问题。我希望创建一个IF语句,其反应如下: 如果用户不是管理员(论坛管理员),并且他们不是票证的所有者(用户ID),但允许版主查看票证(允许版主查看票证),并且用户是版主(论坛版主),则应允许他查看票证 如何使用PHP if语句获得此结果 到目前为止,我有: //If user is not allowed to view. if($userdata['forum_admin']==0 && $ticketDetails['userid']!=$user
- 如果用户不是管理员(论坛管理员),并且他们不是票证的所有者(用户ID),但允许版主查看票证(允许版主查看票证),并且用户是版主(论坛版主),则应允许他查看票证
//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");
不能混合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");
}
不能混合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");
}
是的,不管怎样,管理员都应该被允许。我认为你把事情弄得太复杂了。获取允许用户逐个查看票证的条件,通过或连接它们,最后是
!()
这个。(当然,你也应该()
由几个子条件组成的条件,以避免操作员优先级问题。)是的,无论如何都应该允许管理员。我认为你把它弄得太复杂了。获取允许用户逐个查看票证的条件,通过或连接它们,最后是!()
这个。(当然,您还应该()
包含多个子条件的条件,以避免运算符优先级问题。)