если условие оператора срабатывает независимо от того, выполняется условие или нет

Это если оператор срабатывает независимо от значений в условии, я заменил число для объяснения ради. Почему условие запускает выполнение независимо от того, является ли условие истинным или нет. Я пробовал каждый сценарий, но выполнение в операторе срабатывает каждый раз.

if(1 != 1 && 1 != 2 ){
execute code
exit();
}

вот точный код:

if($name1 != $winner && $name2 != $winner ){
echo " The player you chose as winner is not associated with match id: $match_id ";
exit();
}

-1

Решение

Невозможно вернуть условие, указанное в сообщении true,

Однако то, что вы говорите, может произойти, если вы напишите код, подобный приведенному ниже:

if(1 != 1 && 1 != 2 );{
echo 'case 1';
}

Обратите внимание ; после if (). Вы уверены, что в вашем коде нет точки с запятой после if ()? Если вы ошибочно разместили ; тогда оператор if оценивается как однострочный оператор, а код внутри блока if рассматривается интерпретатором как вне из условия if.

Редактировать на основе обновленного вопроса

Пожалуйста, проверьте следующее:

  1. $winner правильно установлен на любой из $name1 или же $name2,
  2. Проверьте, что область объявления переменной для $winner Правильно — прошло уже некоторое время с тех пор, как я написал PHP, но, возможно, стоит обратить на это внимание.

Кроме этого, я не вижу другой причины, по которой этот код должен вести себя так, как вы утверждаете.

1

Другие решения

Просто, может быть … Внимательно посмотрите на значения четырех переменных.

Сравнение с использованием! = Может дать некоторые неожиданные результаты.

Увидеть Вот а также Вот. РЕДАКТИРОВАТЬ: ссылки исправлены

Даже если это не решит эту проблему, лучше попытаться использовать! == везде, где это возможно.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector