IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

switch avec case supérieur ou égal


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut switch avec case supérieur ou égal
    Bonsoir,

    je voudrais créer un switch avec des cases qui au lieu d'être des valeurs précises seraient des intervalles. L'idée (qui ne marche pas) est le code suivant :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    switch ($client_screen_width) { case >=1280 : $image="banniere1280"; break; case >=1024 : $image="banniere1024"; break; case >=800 : $image="banniere800"; break; default : 
    		$image="banniere1024"; 
    		break;
    y a-t-il moyen de faire ça autrement que avec des if ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu es fâché avec les if ?
    Il existe des détournements un peu moches pour faire des comparaisons dans un switch mais dans ton cas, le switch n'a pas d’intérêt.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Non, pas fâché, mais je me disais qu'il y a peut-être une façon simple de le faire, et je m'étais aussi dit que si pas de réponse, c'est ce que je ferai, donc y a eu une réponse, mais je le ferai quand même !

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut sortir d'un if
    Bonjour,

    comme le "break" ne marche pas pour les if, je n'ai trouvé à faire que le code suivant :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $exit_if=false;
    if ($client_screen_width>=1280){
    	$image="banniere1280"; $exit_if=true; 
    }
    else if (($client_screen_width>=1024)&&($exit_if==false)){
    	$image="banniere1024";$exit_if=true; 
    }
    else if (($client_screen_width>=800)&&($exit_if==false)){
    	$image="banniere800";$exit_if=true; 
    }
    else $image="banniere1024";
    n'y avait-il pas plus simple à faire ?

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bonjour,
    je crois malheureusement que tu devrais quand même revoir les bases en PHP aussi
    Comment traiter les conditions ?

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    N'ayant pas trouvé de réponse dans cette FAQ, j'ai trouvé un moyen pour éviter d'avoir à sortir :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (($client_screen_width>=1280) ) 
    	$image="banniere1280"; 	
    else if (($client_screen_width>=1024)&&($client_screen_width<1280) )
    	$image="banniere1024";	
    else if (($client_screen_width>=800)&&($client_screen_width<1024) )
    	$image="banniere800";
    else $image="banniere1024";

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu cherches a alléger ton code, ne met pas des parentheses partout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($client_screen_width>=1280) {
    	$image="banniere1280";
    }
    elseif ($client_screen_width>=1024 && $client_screen_width<1280) {
    	$image="banniere1024";
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] RechercheV avec supérieur ou égal
    Par filsdepub dans le forum Excel
    Réponses: 2
    Dernier message: 18/11/2014, 15h22
  2. switch avec nombre de case variable ?
    Par jponsoda dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 11/06/2010, 14h53
  3. Page d'erreur 404 avec switch et case
    Par Olivier Regnier dans le forum Langage
    Réponses: 6
    Dernier message: 24/07/2009, 09h56
  4. case du switch avec une condition
    Par benkunz dans le forum Langage
    Réponses: 5
    Dernier message: 04/05/2007, 12h14
  5. Erreur de compilation avec SWITCH et CASE
    Par barbarello dans le forum C++
    Réponses: 4
    Dernier message: 21/01/2006, 21h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo