Page 1 sur 1

exircices bete et marrant

Posté : 05 nov. 2008, 19:17
par Invité
hello,

j'ai un probleme bete et avant de me lancer dans un code d'une 20aine de ligne me suis dit que ca pourrait etre intéressant de poser le probleme ici.

j'ai 3 variables : var1 , var2 , var3
ces variables sont soient vide soit contient une chaine.

j'ai besoin de savoir si 2 variables (ou bien les 3 valent la meme choses), sachant que si c'est vide ca ne compte pas.

suis obligé de tester les 3 variables les unes apres les autres, ou bien y a t'il plus simple si je placait mes variables dans un tableau par exemple ?

Merci

Posté : 05 nov. 2008, 19:32
par albat
$egalite = (($var1===$var2) && ($var1===$var3));

Posté : 05 nov. 2008, 19:53
par zeus
Et s'il ne faut pas compter si elles sont vides :
$egalite = ((!empty($var1)) && ($var1===$var2) && ($var1===$var3));

Posté : 05 nov. 2008, 19:53
par AB
$egalite = (($var1===$var2) && ($var1===$var3));
Heu ... là c'est c'est les trois qui doivent être identiques; il n'avait pas dit au moins 2 ?

Sinon à priori je pense que pour un nombre indéterminé de variables il serait sans doute effectivement intéressant d'essayer les fonctions des tableaux :-k

Posté : 05 nov. 2008, 20:13
par albat
Heu ... là c'est c'est les trois qui doivent être identiques; il n'avait pas dit au moins 2 ?
Pffff... Vous et vos manies de lire les énoncés... |(X
$egalite = ( ( (!empty($var1)) && ($var1===$var2) )
          || ( (!empty($var1)) && ($var1===$var3) )
          || ( (!empty($var2)) && ($var2===$var3) ) );
réductible en :
$egalite = ( ( (!empty($var1)) && ( ($var1===$var2) || ($var1===$var3) ) )
          || ( (!empty($var2)) && ($var2===$var3) ) );

Posté : 05 nov. 2008, 20:21
par Invité
ouais merci mais euh ....

pour une fois qu'il y a en a un qui se trompe pas de forum, merci de ne pas répondre à coté :D

oui oui on est bien dans le forum javascript :-)

bon y'a des chances que le triple === existe aussi en js (bien qu'un double me suffira je pense) , et pour le empty je fais un simple var!="" ?

merci

Posté : 05 nov. 2008, 20:25
par AB
D'ailleurs s'il s'agit simplement de savoir si deux valeurs du tableau sont identiques et non vide ça devrait pouvoir le faire avec array_unique() et array_filter()
$chaine = array(...);

//enlève les éléments vides
$tab = array_filter($chaine);

//dédoublonne le tableau
$resultat = array_unique($tab);

if (count($tab) > count($resultat)) echo 'au moins deux éléments sont identiques';
OUP's ah oui on est dans le forum js, m'avaient induis en erreur les deux autres :lol:

Dommage, ben t'a plus qu'à voir si y'a pas l'équivalent en JS :wink:

Posté : 05 nov. 2008, 20:25
par albat
oui oui on est bien dans le forum javascript :-)
'scuse... le PHP, c'est un réflexe. :oops: :-*

Posté : 05 nov. 2008, 20:48
par AB
ouais merci mais euh ....

pour une fois qu'il y a en a un qui se trompe pas de forum, merci de ne pas répondre à coté :D

oui oui on est bien dans le forum javascript :-)

bon y'a des chances que le triple === existe aussi en js (bien qu'un double me suffira je pense) , et pour le empty je fais un simple var!="" ?

merci
Ben oui si tu transpose le code d'albat en js il te suffit de faire var !=""