Les ternaires : des conditions condensées


Il existe une autre forme de condition, beaucoup moins fréquente, mais que je vous présente quand même car vous pourriez un jour ou l'autre tomber dessus. Il s'agit de ce qu'on appelle les ternaires.

Un ternaire est une condition condensée qui fait deux choses sur une seule ligne :

  • on teste la valeur d'une variable dans une condition ;
  • on affecte une valeur à une variable selon que la condition est vraie ou non.

Prenons cet exemple à base de if… else qui met un booléen $majeur à vrai ou faux selon l'âge du visiteur :

Code : PHP 

 1

 2

 3

 4

 5

 6

 7

 8

 9

10

11

12

<?php

$age = 24;


if ($age >= 18)

{

       $majeur = true;

}

else

{

       $majeur = false;

}

?>



On peut faire la même chose en une seule ligne grâce à une structure ternaire :

Code : PHP 

1

2

3

4

5

<?php

$age = 24;


$majeur = ($age >= 18) ? true : false;

?>



Ici, tout notre test précédent a été fait sur une seule ligne !

La condition testée est $age >= 18. Si c'est vrai, alors la valeur indiquée après le point d'interrogation (ici true) sera affectée à la variable $majeur. Sinon, c'est la valeur qui suit le symbole « deux-points » qui sera affectée à $majeur.

C'est un peu tordu mais ça marche.
Si vous n'utilisez pas ce type de condition dans vos pages web, je ne vous en voudrai pas. Il faut avouer que les ternaires sont un peu difficiles à lire car ils sont très condensés. Mais sachez les reconnaître et les comprendre si vous en rencontrez un jour en lisant le code source de quelqu'un d'autre.

Créé avec HelpNDoc Personal Edition: Nouvelles et informations sur les outils de logiciels de création d'aide