Les opérateurs

Les opérateurs

2 May 2021

Les opérateurs sont très pratiques lors d'écriture de conditions, mais aussi lors de calculs. Regardons les différents opérateurs existant en PHP.

Opérateurs de calculs

Supposons que vous souhaitez effectuer un calcul sur deux variables de type numérique :

$one = 5;
$two = 10;

// Addition
echo $one + $two; // 15

// Soustraction
echo $one - $two; // -5

// Multiplication
echo $one * $two; // 50

// Division
echo $one / $two; // 0.5

// Modulo
echo $one % $two; // 5

// Puissance
echo $one ** $two; // 9765625

Les opérateurs d'incrémentation et décrémentation

Ils sont très utiles pour augmenter ou diminuer de 1 un nombre sans avoir à effectuer une addition ou soustraction :

$nombre = 6;

/* 
 * Post-incrémentation "$var++"
 * Augmente de 1 après l'affectation
 */
echo $nombre++; // Résultat : 6
echo $nombre; // Résultat : 7

/*
 * Post-décrémentation "$var--"
 * Diminue de 1 après l'affectation
 */
echo $nombre--; // Résultat : 6
echo $nombre; // Résultat : 5

/* 
 * Pré-incrémentation "++$var"
 * Augmente de 1 avant l'affectation
 */
echo ++$nombre; // Résultat : 7

/*
 * Pré-décrémentation "--$var"
 * Diminue de 1 avant l'affectation
 */
echo --$nombre; // Résultat : 5

Opérateurs de comparaison

Les opérateurs de comparaison, comme leur nom l'indique, vont comparer deux valeurs dans un ordre précis. On compare toujours la valeur de gauche à celle de droite. De cette comparaison, nous saurons si le résultat est positif ou négatif, vrai ou faux... En PHP, ce résultat sera représenté par true ou false.

$one = 5;
$two = 10;

/*
 * Égal à
 * ---
 * Compare la valeur des variables 
 * A NE PAS CONFONDRE AVEC LE EGAL "=" QUI EST UN SIGNE D'AFFECTATION
 */
echo $one == $two; // false

/*
 * Strictement égal à
 * ---
 * Compare la valeur et le type des variables 
 */
echo $one === $two; // false

/* 
 * Différent de
 * ---
 * Vérifie la différence des valeurs
 */
echo $one != $two; // true

/*
 * Strictement différent de
 * ---
 * Vérifie la différence des valeurs et des types
 */
echo $one !== $two; // true

/*
 * Supérieur à
 */
echo $one > $two; // false

/*
 * Supérieur ou égal à
 */
echo $one >= $two // false

/*
 * Inférieur à
 */
echo $one < $two; // true

/*
 * Inférieur ou égal à
 */
echo $one <= $two; // true

Les opérateurs logiques

Ces opérateurs permettent quant à eux de vérifier si plusieurs conditions sont vraies :

/**
 * Opérateur OU logique "||"
 * Vérifie qu'une des conditions est vraie
 */
expression1 || expression2

/**
 * Opérateur ET logique "&&"
 * Vérifie que toutes les conditions sont vraies 
 */
expression1 && expression2

/**
 * Opérateur non logique "!"
 * Inverse l'état d'une variable booléenne
 */
!false; // true
!true; // false

L'opérateur de coalescence nulle

C'est un opérateur logique qui affectera la valeur de droite si jamais la valeur de gauche est à null :

$variable = null;
$autreVariable = 43;

$resultat = $variable ?? 'Vide !'; // Vide !
$resultat = $autreVariable ?? 0;  // 43