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