Pb switch php

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 : Pb switch php

Re: Pb switch php

par Invité » 19 nov. 2009, 13:03

Merci à toi .

Donc j'ai opter pour la deuxième solution :
case "1.1":
	if($this->form === '1.1'){
	}
	if($this->form === '1.10'){
	}
voilà pas d'autre solution

Re: Pb switch php

par stopher » 19 nov. 2009, 12:56

D'aprés la doc ,

switch/case provoque une perte de comparaison.


J'ai donc testé avec des if comme ceci :
if($toto == '1.1'){
    echo "coucouAA";
}
if($toto == '1.10'){
    echo "coucouBB";
}
ca ne fonctionne pas non plus ... j'ai donc fait une comparaison aussi sur le type :
if($toto === '1.1'){
    echo "coucouAA";
}
if($toto === '1.10'){
    echo "coucouBB";
}
Et là ça fonctionne ...

Donc deux solutions ..
utiliser la signature des chaines , ou utiliser des if avec une comparaison de valeur et de type.

Ch.

Re: Pb switch php

par Invité » 19 nov. 2009, 12:53

Je te remercie de ton aide moi je bloque :|

Re: Pb switch php

par stopher » 19 nov. 2009, 12:51

J'ai l'impression que le switch , convertis ta chaine en float , même en forçant le type .

j'ai réussit à avoir le résultat que tu attends uniquement en utilisant la signature des chaines ( md5 )
$toto   =    md5("1.10");
//settype($toto, "string");

            switch ($toto)
            {
                    case md5('1.1'):
                    echo "coucouA";
                    break;
                    
                    case md5('1.10'):
                    echo "coucouB";
                    break;
            }
... mais je continue de chercher ...

Ch.

Re: Pb switch php

par Invité » 19 nov. 2009, 12:47

C'est une chaine de caractère (string) qui prend les valeur suivantes :

1.1
1.2
1.3
...
1.10

var_dump($this->form);

Re: Pb switch php

par stopher » 19 nov. 2009, 12:39

Salut ,

quel est le type de "$this->form" ?

peux tu nous renvoyer le résultat d'un var_dump($this->form); ?

Ch.

Pb switch php

par Invité » 19 nov. 2009, 12:35

Bonjour à tous,

J'ai un petit problème avec un switch en php.

Voici mon code :
switch ($this->form)
{	
        case "1.1":
        echo $this->form;
        break;
        ....
	case "1.10":
        echo $this->form;
        break;
}
J'ai l'impression que je ne fait pas d'erreur et pourtant quand ma condition vaut "1.10" je rentre dans le cas "1.1" :? :? :?
C'est possible de corriger cela ?? surement mais pour moi je ne voit pas :x