Bonjour,
est il possible de faire un if else if else avec l'opérateur ternaire?
j'ai essayé quelquechose du type
( $a == 1 && $b==1 )? "toto" : ( $a == 0 && $b==1) ? "bonjour" : "au revoir";
mais il ne me renvoit pas la bonne valeur.
merci
punky








Bonjour,
est il possible de faire un if else if else avec l'opérateur ternaire?
j'ai essayé quelquechose du type
( $a == 1 && $b==1 )? "toto" : ( $a == 0 && $b==1) ? "bonjour" : "au revoir";
mais il ne me renvoit pas la bonne valeur.
merci
punky
Pas de problème on peut faire :
test1 ? test1 vrai : test2 ? test2 vrai : test2 faux
Vérifie les types de tes variables a et b et des valeurs de comparaison
A+
J'ai essayé le code suivant qui marche parfaitement:
- si a=1 et b=1 le résultat est "toto",
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int a; int b; String result = (a == 1 && b==1)? "toto" : ( a == 0 && b==1) ? "bonjour" : "au revoir"; System.out.println(result);
- si a=0 et b=0 le résultat est "au revoir",
- si a=0 et b=1 le résultat est "bonjour.
Stop !!!
Oublie l'opérateur ternaire et fait du bon code !!!!!!!!
Je défie une personne neutre au problème de comprendre cette ligne de code instantanément !!!
La deuxième solution est quand même beaucoup plus compréhensible et plus pratique, car le jour ou tu voudrais faire plusieurs actions et bien, bon courage avec le ternaire pour la relecture !!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 String result = (a == 1 && b==1)? "toto" : ( a == 0 && b==1) ? "bonjour" : "au revoir"; //Maintenant en version compréhensible String result = "au revoir"; if ( b == 1 ) { if ( a == 0 ) { result = "bonjour" ;} else if ( a == 1) { result = "toto"; } }
Il y a les obfuscateurs pour faire ce que tu veux faire. Un nom de variable commençant par un $ en plus... quelle idée !
Partager