我的if语句有问题。
我希望存档: - 如果发件人ID与用户id = grant access匹配 - 如果接收者ID与用户id = grant access
匹配目前我只有这个:
if($pmData['sender_id']!=$userdata['id'] && $pmData['receiver_id']!=$userdata['id'])
redirect("?i=a");
但正如您所看到的,在此声明中,BOTH发件人ID和接收者ID与用户ID非常匹配。
如何归档另一个?
答案 0 :(得分:3)
使用or
/ ||
代替&&
?
if ($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']) {
redirect("?i=a");
}
答案 1 :(得分:2)
您想要的是将两者合并为||
(或)而不是&&
(和)。
答案 2 :(得分:2)
if($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']){
// Grant Access
}
else{
// Deny Access
}
答案 3 :(得分:1)
我们假设变量名为$sender
$receiver
和$user
:
if ($sender == $user || $receiver == $user) { allow(); }
else { forbid(); }
答案 4 :(得分:1)
如果我理解您的问题,您只需将&&
(AND)替换为||
(或者)
答案 5 :(得分:0)
这样想。 &安培;&安培;意思是“两者都必须满足条件”。 ||意思是“一个或另一个必须符合条件”。
有||就像在一个中有两个不同的if语句,&&就像在if语句中使用if语句来做某事。