PHP: Operador lógico xor
Tadeu Barbosa
Posted on August 7, 2021
Recentemente esbarrei em uma palavrinha em um código por aí. Na hora não entendi bem o que era... Era o operador xor.
Estava estudando e vi a explicação desse operador que, pelo menos pra mim, não é muito comum.
O que vi era mais ou menos assim:
if ($isValue1 xor $isValue2) {
// code
}
O operador xor é utilizado para quando você precisa que somente um dos valores seja positivo. Vejamos primeiramente o and e o or...
$value = 1;
// retorna true, pois o value é igual a 1 e menor que 2
if ($value === 1 and $value < 2) {
// code
}
// retorna true, o value não é igual a 2, mas é menor que 2
// ele entra na segunda expressão
if ($value === 2 or $value < 2) {
}
// lembrando que também poderia ser usado o && e ||, daria no mesmo
if ($value === 1 && $value < 2) {
// code
}
if ($value === 2 || $value < 2) {
// code
}
O xor, no entanto, aceita somente uma das verificações:
$value = 1;
// retorna false, pois as duas expressões são verdadeiras
// value é igual a 1 e value é menor que 2
if ($value === 1 xor $value < 2) {
// code
}
// retorna true, pois a primeira expressão é negativa
// e a segunda positiva
if ($value === 2 xor $value < 2) {
// code
}
// assim como o or e o and,
// você também pode utilizar o acento círcunflexo (^)
if ($value === 1 ^ $value < 2) {
// code
}
if ($value === 2 ^ $value < 2) {
// code
}
Fiz uma tabelinha pra explicar melhor:
Bem, espero que isso possa te ajudar de alguma maneira. Tem coisa que parece besteira quando a gente aprende, mas que pode ajudar de mais no dia a dia :)
💖 💪 🙅 🚩
Tadeu Barbosa
Posted on August 7, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.