Qu’est-ce que le ternaire PHP ?
Le ternaire en PHP est une structure de contrôle conditionnelle, c’est en quelque sorte un raccourci pour les déclarations if
et else
. En gros, cela permet d’attribuer une valeur à une variable en fonction d’une condition, tout cela en une seule ligne de code. Ça peut s’avérer très pratique pour écrire du code plus concis et facile à lire.
Le format général d’un opérateur ternaire est le suivant :
$variable = (condition) ? valeur_si_vrai : valeur_si_faux;
Pour illustrer ce concept, prenons un exemple simple. Disons que nous voulons déterminer si un nombre est pair ou impair. Voici comment nous pourrions utiliser le ternaire pour le faire :
$nombre = 7; $resultat = ($nombre % 2 == 0) ? "pair" : "impair"; echo $resultat; // Affiche "impair"
Dans cet exemple, si la condition $nombre % 2 == 0
est vraie, alors $resultat
prendra la valeur “pair”. Sinon, il prendra la valeur “impair”. Comme vous pouvez le voir, le ternaire permet de réduire plusieurs lignes de code en une seule ligne.
Il est également possible d’utiliser des ternaires imbriqués pour évaluer plusieurs conditions en une seule ligne. Par exemple, si nous voulons déterminer si un nombre est négatif, positif ou égal à zéro, nous pourrions écrire :
$nombre = -5; $resultat = ($nombre < 0) ? "négatif" : (($nombre > 0) ? "positif" : "zéro"); echo $resultat; // Affiche "négatif"
Dans cet exemple, si $nombre < 0
, alors $resultat
prendra la valeur “négatif”. Si $nombre > 0
, $resultat
prendra la valeur “positif”. Et enfin, si $nombre
est égal à 0, $resultat
prendra la valeur “zéro”.
Exemple de conditions sans et avec ternaire PHP
$age = 25; $categorie = ''; if ($age >= 0 && $age <= 12) { $categorie = 'enfant'; } elseif ($age >= 13 && $age <= 17) { $categorie = 'adolescent'; } elseif ($age >= 18 && $age <= 64) { $categorie = 'adulte'; } else { $categorie = 'senior'; } echo $categorie; // Affiche "adulte"
Et maintenant, voici le même exemple avec l’utilisation d’un ternaire imbriqué :
$age = 25; $categorie = ($age >= 0 && $age <= 12) ? 'enfant' : (($age >= 13 && $age <= 17) ? 'adolescent' : (($age >= 18 && $age <= 64) ? 'adulte' : 'senior')); echo $categorie; // Affiche "adulte"
Comme vous pouvez le voir, le ternaire permet de condenser le code en une seule ligne. Cependant, cela peut rendre le code moins lisible et plus difficile à comprendre, surtout pour les conditions complexes. Il est donc important d’utiliser les ternaires avec modération et de les réserver aux cas où ils simplifient réellement le code.
Voilà, vous avez maintenant une idée de ce qu’est un ternaire en PHP et de quelques-unes de ses possibilités d’utilisation. Gardez à l’esprit que si vous abusez des ternaires imbriqués, votre code peut devenir difficile à lire et à comprendre. Alors, utilisez-les avec modération et préférez les structures if
et else
pour les conditions plus complexes.
Pour plus d’informations, consultez la documentation PHP officielle.