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 :

Simplifier mon code


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut Simplifier mon code
    bonjour je cherche de l'aide, je sais pas comment simplifier mon code qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($tablo[0] == '24' || $tablo[1] == '24' || $tablo[2] == '24' || $tablo[3] == '24' || $tablo[4] == '24' || $tablo[5] == '24' || $tablo[6] == '24' || $tablo[7] == '24' || $tablo[8] == '24' || $tablo[9] == '24' || $tablo[10] == '24' || $tablo[11] == '24') {bla,bla...}
    en faite le chifre 24 est le numero du département, et je doit tous les faire, donc sa risque d'etre...

    ci quelqu'un a une idée ? je suis preneur

  2. #2
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    euh une boucle?

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach ($tablo as $v) {
        if ($v == 24 ) then { 
             ....
             break; 
        }
    }
    je ne connais pas bien php mais jette un oeil par ici
    http://php.net/manual/en/control-structures.foreach.php
    http://php.net/manual/en/control-structures.for.php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $loop = 11;
    $check = true;
     
    for($i = 0; $i <= $loop; $i++) 
        $check &= (array_key_exists($i, $tablo) && $tablo[$i] == '24');
     
    if($check) {
        ...
    }
    Edit : je m'aperçois que j'ai considérer des conditions ET au lieu des OU donc oublis mon code
    Edit : En revanche pour la solution précédente n'oublis pas de mettre un break en cas d'égalité sinon la traitement sera fait plusieurs fois si plusieurs entrés sont égales à 24.

  4. #4
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut ..
    merci pour la piste,
    je creuse aussi de mon coté pour la bonne solution...


  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le but est de savoir si $tablo contient 24, sans considération de la position, c'est bien ça ? Pourquoi ne pas simplement utiliser in_array ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (in_array(24, $tablo))

  6. #6
    Membre du Club Avatar de pierre987321
    Inscrit en
    Août 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 139
    Points : 62
    Points
    62
    Par défaut
    en faite j'ai un code style :
    07,05,03,26,78,41,32 (département)

    Je doit rechercher le departement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $info = trim(@$_GET['informations']);
    $info = str_replace(", ", " ", $info); 
    $info = str_replace(",", " ", $info); 
    $info = str_replace("; ", " ", $info);
    $info = str_replace(";", " ", $info);
    $info = str_replace("+", " ", $info); 
    $info = str_replace("\"", " ", $info);
    $info = str_replace(":", " ", $info);
    $tablo=explode(" " , $info);

    puis :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($tablo[0] == '67' || $tablo[1] == '67' || $tablo[2] == '67' || $tablo[3] == '67' || $tablo[4] == '67' || $tablo[5] == '67' || $tablo[6] == '67' || $tablo[7] == '67' || $tablo[8] == '67' || $tablo[9] == '67' || $tablo[10] == '67' || $tablo[11] == '67'){ bla,bla,bla...}

    oui sa doit cherche un valeur parmis les 12 maximum.

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

Discussions similaires

  1. [XL-2007] Comment simplifier mon code VBA SVP?
    Par anthooooony dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2012, 10h59
  2. [XL-2007] Simplifier mon code ?
    Par hdisnice dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/06/2011, 08h44
  3. Comment pourrais-je simplifier mon code
    Par pierrot10 dans le forum jQuery
    Réponses: 1
    Dernier message: 28/08/2010, 09h30
  4. Simplifier mon code "Majuscule/Minuscule"
    Par Manou34 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/01/2008, 17h05

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