Manuel PHP
Précédent | Chapitre 15. Les opérateurs | Suivant

# Opérateurs de comparaison

Les opérateurs de comparaison, comme leur nom l'indique, vous permettent de comparer deux valeurs. Vous devriez également être intéressé par les tables de comparaisons de types car ils montrent des exemples de beaucoup de types de comparaisons.

Tableau 15-4. Opérateurs de comparaison

Exemple | Nom | Résultat
--- | --- | ---
$a == $b | Egal | `TRUE` si $a est égal à $b.
$a === $b | Identique | `TRUE` si $a est égal à $b et qu'ils sont de même type (introduit en PHP 4).
$a != $b | Différent | `TRUE` si $a est différent de $b.
$a <> $b | Différent | `TRUE` si $a est différent de $b.
$a !== $b | Différent | `TRUE` si $a est différent de $b ou bien qu'ils ne sont pas du même type. (introduit en PHP 4)
$a < $b | Plus petit que | `TRUE` si $a est strictement plus petit que $b.
$a > $b | Plus grand | `TRUE` si $a est strictement plus grand que $b.
$a <= $b | Inférieur ou égal | `TRUE` si $a est plus petit ou égal à $b.
$a >= $b | Supérieur ou égal | `TRUE` si $a est plus grand ou égal à $b.

Si vous comparez un entier avec une chaîne, la chaîne est convertie en un nombre. Si vous comparez deux chaînes numériques, elles seront comparées en tant qu'entiers. Ces règles s'appliquent aussi à l'instruction switch.

`<?php var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // jamais évalué parce que "a" est déjà trouvé avec 0 echo "a"; break; } ?>`

Voir aussi strcasecmp(), strcmp() les opérateurs de tableaux, et le chapitre sur les types.

## L'opérateur ternaire

Un autre opérateur conditionnel est l'opérateur ternaire (":?").

Exemple 15-5. Assignement d'une valeur par défaut
`<?php // Exemple d'utilisation pour l'opérateur ternaire $action = (empty($_POST['action'])) ? 'défaut' : $_POST['action']; // La ligne ci-dessus est identique à la condition suivante : if (empty($_POST['action'])) { $action = 'défaut'; } else { $action = $_POST['action']; } ?>`

L'expression (expr1) ? (expr2) : (expr3) est évaluée à expr2 si expr1 est évalué à `TRUE`, et expr3 si expr1 est évalué à `FALSE`.

Précédent | Sommaire | Suivant
Opérateurs sur les bits | Niveau supérieur | Opérateur de contrôle d'erreur