Le PHP - Les bases du langage

profThiernesse
2,713 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content
Previous: Les variables Next: Les tableaux

Opérateurs logiques et de comparaison

Le plus souvent les opérateurs logiques et de comparaison sont utilisés en tant qu'expression booléenne simple ou complexe dans les conditions de boucle ou les alternatives.

Opérateurs logiques

Le tableau ci-dessous reprend la liste des opérateurs logiques par ordre de priorité.

ExempleNomRésultat
! $aNot (Non)TRUE si $a n'est pas TRUE.
$a && $bAnd (Et)TRUE si $a ET $b sont TRUE.
$a || $bOr (Ou)TRUE si $a OU $b est TRUE.
$a and $bAnd (Et)TRUE si $a ET $b valent TRUE.
$a xor $bXORTRUE si $a OU $b est TRUE, mais pas les deux en même temps.
$a or $bOr (Ou)TRUE si $a OU $b valent TRUE.
<?php
$a=true;
$b=false;
var_dump($a && $b);
var_dump($a or $b);
var_dump($a xor $a);
//Les réponses des deux lignes ci-après sont différentes à cause de la priorité des opérateurs.
var_dump($a || $b and $b);
var_dump($a || $b && $b);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Opérateurs de comparaison

Les opérateurs de comparaison, comme leur nom l'indique, vous permettent de comparer deux valeurs.

ExempleNomRésultat
$a == $bEgalTRUE si $a est égal à $b après le transtypage.
$a === $bIdentiqueTRUE si $a est égal à $b et qu'ils sont de même type.
$a != $bDifférentTRUE si $a est différent de $b après le transtypage.
$a <> $bDifférentTRUE si $a est différent de $b après le transtypage.
$a !== $bDifférentTRUE si $a est différent de $b ou bien s'ils ne sont pas du même type.
$a < $bPlus petitTRUE si $a est strictement plus petit que $b.
$a > $bPlus grandTRUE si $a est strictement plus grand que $b.
$a <= $bInférieur ou égalTRUE si $a est plus petit ou égal à $b.
$a >= $bSupérieur ou égalTRUE si $a est plus grand ou égal à $b.
<?php
$a=1;
$b='1';
var_dump($a==$b);
var_dump($a===$b);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Il existe un dernier opérateur un peu différent :

$a <=> $bCombinéUn entier inférieur, égal ou supérieur à zéro lorsque $a est respectivement inférieur, égal, ou supérieur à $b. Disponible depuis PHP 7.
<?php
var_dump(1<=>1);
var_dump(1<=>2);
var_dump(2<=>1);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fonctions

Deux fonctions peuvent encore être utiles lors d'opérations de test :

  • isset() - Détermine si une variable est définie et est différente de NULL.
  • empty() - Détermine si une variable est vide. Les valeurs ci-dessous sont considérées comme étant vides :
    • "" (une chaîne vide)
    • 0 (0 en tant qu'entier)
    • 0.0 (0 en tant que nombre à virgule flottante)
    • "0" (0 en tant que chaîne de caractères)
    • NULL
    • FALSE
    • array() (un tableau vide)
<?php
var_dump(isset($a));
$a="";
var_dump(isset($a));
var_dump(empty($a));
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content