Tableau 15.7. Les opérateurs logiques
Exemple | Nom | Résultat |
---|---|---|
$a and $b | ET (And ) | Vrai si $a ET $b sont vrais. |
$a or $b | OU (Or ) | Vrai si $a OU $b est vrai |
$a xor $b | XOR (Xor ) | Vrai si $a OU $b est vrai, mais pas les deux en même temps. |
! $a | NON (Not ) | Vrai si $a est faux. |
$a && $b | ET (And ) | Vrai si $a ET $b sont vrais. |
$a || $b | OU (Or ) | Vrai si $a OU $b est vrai. |
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 15.12. Illustration des opérateurs logiques
<?php
// foo() ne sera jamais appeler car ces opérateurs s'annulent
$a
= (
false
&&
foo
());
$b
= (
true
||
foo
());
$c
= (
false
and
foo
());
$d
= (
true
or
foo
());
// "||" a un précédence supérieure que "or"
$e
=
false
||
true
;
// $e se vera assigner à (false || true), ce qui est true
$f
=
false
or
true
;
// $f se vera assigner à false
var_dump
(
$e
,
$f
);
// "&&" a une précédence supérieure à "and"
$g
=
true
&&
false
;
// $g se vera assigner à (true && false), ce qui est false
$h
=
true
and
false
;
// $h se vera assigner à true
var_dump
(
$g
,
$h
);
L'exemple ci-dessus va afficher quelque chose de similaire à :
bool(true) bool(false) bool(false) bool(true)