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 :)
Top comments (0)