Les opérateurs logiques

Les opérateurs logiques
Exemple Nom Résultat
$a and $b And (Et) TRUE si $a ET $b valent TRUE.
$a or $b Or (Ou) TRUE si $a OU $b valent TRUE.
$a xor $b XOR TRUE si $a OU $b est TRUE, mais pas les deux en même temps.
! $a Not (Non) TRUE si $a n'est pas TRUE.
$a && $b And (Et) TRUE si $a ET $b sont TRUE.
$a || $b Or (Ou) TRUE si $a OU $b est TRUE.

La raison pour laquelle il existe deux types de "ET" et de "OU" est qu'ils ont des priorités différentes. Voir le paragraphe précédence d'opérateurs.

Exemple #1 Illustration des opérateurs logiques

  1. <?php
  2.  
  3. // --------------------
  4. // foo() ne sera jamais appelée car ces opérateurs s'annulent
  5.  
  6. $a = (false && foo());
  7. $b = (true || foo());
  8. $c = (false and foo());
  9. $d = (true or foo());
  10.  
  11. // --------------------
  12. // "||" a un précédence supérieure à "or"
  13.  
  14. // Le résultat de l'expression (false || true) est affecté à $e
  15. // Agit comme : ($e = (false || true))
  16. $e = false || true;
  17.  
  18. // La constante false est affectée à $f, puis, true est ignoré
  19. // Agit comme : (($f = false) or true)
  20. $f = false or true;
  21.  
  22. var_dump($e, $f);
  23.  
  24. // --------------------
  25. // "&&" a un précédence supérieure à "and"
  26.  
  27. // Le résultat de l'expression (true && false) est affecté à $g
  28. // Agit comme : ($g = (true && false))
  29. $g = true && false;
  30.  
  31. // La constante true est affectée à $h, puis, false est ignoré
  32. // Agit comme : (($h = true) and false)
  33. $h = true and false;
  34.  
  35. var_dump($g, $h);
  36. ?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)
bool(false)
bool(false)
bool(true)
LoadingChargement en cours