«Если заявление», чтобы проверить, совпадают ли два разных идентификатора пользователя - PullRequest
0 голосов
/ 21 ноября 2011

У меня проблема с оператором if.

Я хочу архивировать: - Если идентификатор отправителя совпадает с идентификатором пользователя = предоставить доступ - Если идентификатор получателя совпадает с идентификатором пользователя = предоставить доступ

В настоящее время у меня просто есть это:

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

Но, как вы можете видеть, в этом утверждении ОБА ИД отправителя И ИД получателя во многом совпадает с ИД пользователя.

Как мне заархивировать другой?

Ответы [ 6 ]

3 голосов
/ 22 ноября 2011

Использование or / || вместо &&?

if ($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']) {
    redirect("?i=a");
}
2 голосов
/ 22 ноября 2011
if($pmData['sender_id'] == $userdata['id'] || $pmData['receiver_id'] == $userdata['id']){
  // Grant Access
}
else{
  // Deny Access
}
2 голосов
/ 21 ноября 2011

То, что вы хотите, это объединить два с || (или) вместо && (и).

1 голос
/ 22 ноября 2011

Если я понимаю ваш вопрос, вам просто нужно заменить && (И) на || (ИЛИ)

1 голос
/ 22 ноября 2011

Допустим, переменные называются $sender $receiver и $user:

if ($sender == $user || $receiver == $user) { allow(); }
else { forbid(); }
0 голосов
/ 22 ноября 2011

Думайте об этом так. && означает «Оба должны соответствовать условиям». || означает «Один или другой должны соответствовать условиям».

Имея || это как иметь два разных оператора if в одном, && это как иметь оператор if внутри оператора if для того, чтобы что-то сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...