У меня есть следующий код. Если я выполняю каждое условие отдельно, он отлично работает, но вскоре, когда я добавляю «xor» или «or» или «||», операторы, похоже, не совпадают.Оператор php xor не работает как ожидалось
Я знаю, что это будет что-то простое, пропущенное, но не может его обнаружить. Я использую этот оператор неправильно?
if ($usercurrentpassword['password'] != $currentpasswordmd5 xor $usercurrentpassword['password'] != $currentpasswordsha1){
$a = "Current passwords do not match";
return $a;
}
Возможно, вы столкнулись с порядком вопросов, связанных с вопросом. В вашем операторе if нет брекетинга, поэтому я не могу догадаться, каков ваш намеченный порядок выполнения. – GordonM
уже пробовал его с помощью скобки, как комментарий ниже, но тот же. Если я изменю инструкцию, чтобы проверять только одну переменную, она работает нормально, но не является ни одним, ни. – user112570
Кроме того, алгоритм кажется неправильным - если пароль не имеет того же MD5 или того же SHA1, он не будет эхом ничего. Может быть, проблема в том, как вы «кодируете» свою мысль? Что должен делать алгоритм? –