Les opérateurs logiques

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)