Opérateur ternaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Opérateur ternaire

Re: Opérateur ternaire

par vozoul » 12 avr. 2019, 16:59

un lien pour les expressions ternaire à plusieurs conditions ici même sur le forum:

faq-tutoriels/expr1-expr2-expr3-operate ... 14111.html

Re: Opérateur ternaire

par vozoul » 12 avr. 2019, 16:49

je ne suis pas sur que le ternaire t'aiderai tant que ca,
sinon son utilisation est la suivante:
$variable = ($condition) ? cas_vrai : cas_faux ;
return $variable;
avec autant de conditions je tenterais peut être un switch:
$var = ma_variable; //déclaration de la variable commune à tes condition
switch($var){  //début du switch avec la référence $var
    case 'cas_1':
    //ton code php, html, etc... (attention a la syntaxe)
   break;
    case 'cas_2':
    //ton code PHP, html, etc... (attention a la syntaxe)
   break;
    case 'cas_n':
    //ton code PHP, html, etc... (attention a la syntaxe)
   break;
    default: //le cas de base
    //ton code PHP, html, etc... (attention a la syntaxe)
   break;
} //fin du switch
ps: le break; est important, il sépare convenablement chacun des cas rencontrés

Opérateur ternaire

par kakou34 » 12 avr. 2019, 14:36

Bonjour amis codeurs.

Je viens vers vous car je bloque un peu sur les opérateurs ternaires.

En fait j'ai un gros bloc qui fait énormément de "if elseif else" pour juste un mot donc je souhaiterai raccourcir tout ça.

J'ai un truc du genre :
if($condition1)
     {
          $dossier = 'truc1';
     }

     elseif($condition2)
     {
          $dossier = 'truc2';
     }

     elseif($condition3) 
     {   
          if($condition4)
          {
               $dossier = 'truc4';
          }

          elseif($condition5)
          {
               $dossier = 'truc5';
          }

          elseif($condition6)
          {
               $page_dossier = 'truc6';
          }

          else
          {
               $dossier = 'erreur';
          }
     }

     elseif($condition7)
     {
          if($condition8)
          {
               $dossier = 'truc8';
          }

          elseif($condition9)
          {
               $dossier = 'truc9';
          }  

          else
          {
               $dossier = 'erreur';
          }
     }

     else
     {
          $dossier = 'erreur';
     }
Voila le block, et j'ai fais ça mais sa fonctionne pas.
$dossier = ($condition1)

               ? ($condition2  ? 'truc2')
               : ($condition3  ? 'truc3')
               : ($condition4 ? 'truc4')
               : 'erreur' ;
J'ai une erreur de parenthèse, et quand je corrige, j'ai un problème avec les 2 points, et ensuite la virgule, bref je tourne en rond.

Vous allez m'aidez un hein amis codeurs :)