“如果statement"检查两个不同的用户id是否匹配


"If statement" to check if two different user ids match

我的if语句有问题。

我想存档:—如果发送者id与用户id匹配,则授予访问权限—用户id = grant access

目前我只有这个:

if($pmData['sender_id']!=$userdata['id'] && $pmData['receiver_id']!=$userdata['id'])
    redirect("?i=a");

但是正如你所看到的,在这个语句中,发送方id和接收方id都与用户id非常匹配。

如何归档其他文件?

or/||代替&& ?

if ($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']) {
    redirect("?i=a");
}

您需要的是将两者与||(或)相结合,而不是&&(和)

if($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']){
  // Grant Access
}
else{
  // Deny Access
}

假设变量名为$sender$receiver$user:

if ($sender == $user || $receiver == $user) { allow(); }
else { forbid(); }

如果我理解您的问题,您只需要将&& (AND)替换为|| (OR)

可以这样想。,,意思是"双方都必须满足条件"。意思是"其中一个必须满足条件"。

有||就像在一个语句中有两个不同的if语句&&就像在if语句里面放一个if语句来做一些事情。