Question condition ternaire en PHP

playboy-1990 Messages postés 593 Statut Membre -  
creadiff Messages postés 483 Statut Membre -
Bonjour,
Je me pose juste une question
Dans la plupart des exemple de conditions ternaires, les tutoriels indiquent un exemple comme ceci :
echo (count($tab) > 1) ? 'Vous avez' . count($tab) . 'messages' : 'Vous avez' . count($tab) . 'message';

Mais est-ce que les deux () sont-elle obligatoire car ceci fonctionne également très bien :

echo count($tab) > 1 ? 'Vous avez' . count($tab) . 'messages' : 'Vous avez' . count($tab) . 'message';

Donc vout-il mieux en mettre ou pas ?
Merci

3 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut,

    Ce n'est pas nécessaire, mais ça permet de distinguer plus facilement les différentes parties de la structure.
    1
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Comme avion-f16, avec une petite remarque supplémentaire : dans certains langages, ces parenthèses sont obligatoires. Donc autant les mettre, ça évitera des surprises, et ça permet de prendre de bonnes habitudes :)
    0
  3. creadiff Messages postés 483 Statut Membre 57
     
    J'ai souvent des bugs sur des conditions ternaires un peu complexes en PHP quand je ne mets pas de parenthèses ; je crois qu'ils ont une priorité des opérateurs différentes par rapport à d'autres langages (ECMAScript, C++...)
    0
    1. creadiff Messages postés 483 Statut Membre 57
       
      https://www.commentcamarche.net/contents/802-php-les-operateurs#priorite
      0