Forum und email

Operadores de Lógica

Operadores de Lógica
Ejemplo Nombre Resultado
$a and $b Y TRUE si tanto $a como $b son TRUE.
$a or $b O TRUE si cualquiera de $a o $b es TRUE.
$a xor $b O exclusivo (Xor) TRUE si $a o $b es TRUE, pero no ambos.
! $a No TRUE si $a no es TRUE.
$a && $b Y TRUE si tanto $a como $b son TRUE.
$a || $b O TRUE si cualquiera de $a o $b es TRUE.

La razón para tener las dos variaciones diferentes de los operadores "and" y "or" es que ellos operan con precedencias diferentes. (Vea Precedencia de Operadores.)

Example#1 Ilustración de los operadores lógicos

<?php

// foo() nunca será llamada ya que esos operadores trabajan en modo corto-circuito
$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());

// "||" tiene una precedencia mayor que "or"
$e false || true// $e será definido como (false || true) lo cual es true
$f false or true// $f será definido como false
var_dump($e$f);

// "&&" tiene una precedencia mayor que "and"
$g true && false;  // $g será definido como (true && false) lo que es false
$h true and false// $h será definido como true
var_dump($g$h);

El resultado del ejemplo seria algo similar a:

bool(true)
bool(false)
bool(false)
bool(true)