Aller au contenu

Les opérateurs

Les opérateurs de base de PHP sont très similaires à ceux de Java:

  • Opérateur d'affectation: =
  • Opérateurs de calcul: +,-,,,%
  • Opérateurs d'assignation: +=, -=, *=, /=
  • Opérateurs d'incrémentation: ++, --
  • Opérateurs logiques: ||, OR , &&, AND, XOR, !

Regardez le code ci-dessous et devinez ce que chaque "echo" affiche à l'écran.

<?php
$a = 20;
$b = 50+50;
$c = $a * $b;

echo $c, '<br>';

$c -= 1000;
echo $c, '<br>';

echo $c++, '<br>';
echo ++$c, '<br>';
echo $c % 50, '<br>';

echo true xor ($a > $c);
?>
Solution

"2000" : $c = 20 * (50+50)

"1000" : $c = 2000 - 1000

"1000" : on affiche la valeur de $c AVANT de l'incrémenter de 1

"1002" : on affiche la valeur de $c APRES l'avoir incrémenté une seconde fois de 1

"2" : on affiche le résultat de (1002 % 50)

"1": $a (=20) n'est pas supérieur à $c (=1002) et donc la condition devient true xor false => true qui est affiché par "1".

Les opérateurs de comparaison

Exemple Résultat
$a == $b TRUE si $a est égal à $b après le transtypage
$a === $b TRUE si $a est égal à $b et s'ils sont de même type
$a != $b TRUE si $a est différent de $b après le transtypage
$a <> $b TRUE si $a est différent de $b après le transtypage
$a !== $b TRUE si $a est différent de $b ou de types différents
$a < $b TRUE si $a est plus petit que $b
$a > $b TRUE si $a est plus grand que $b
$a <= $b TRUE si $a est plus petit ou égal après transtypage que $b
$a >= $b TRUE si $a est plus grand ou égal après transtypage que $b

Regardez le code ci-dessous et devinez ce que chaque "echo" affiche à l'écran.

<?php
$a = 10;
$b = '10';

if ($a == $b) {
    echo 'a == b', '<br>';
} else {
    echo 'a != b', '<br>';
}
if ($a === $b) {
    echo 'a === b', '<br>';
} else {
    echo 'a !== b', '<br>';
}
if ($a <= $b) {
    echo 'a <= b', '<br>';
} else {
    echo 'a > b', '<br>';
}
Solution

"a == b": mêmes valeurs

" a !== b ": mêmes valeurs mais types différents

"a <= b" : mêmes valeurs