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 :

Concaténation dans boucle for


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 75
    Points
    75
    Par défaut Concaténation dans boucle for
    salutatous,

    voici mon code (déclaration des variables et boucle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    $nombre_de_pays = 11;
     
    $pays_1 = "tyrol_autrichien";
    $pays_2 = "martinique";
    $pays_3 = "reunion";
    $pays_4 = "maurice";
    $pays_5 = "italie";
    $pays_6 = "croatie";
    $pays_7 = "madere";
    $pays_8 = "irlande";
    $pays_9 = "ouest_americain";
    $pays_10 = "equateur";
    $pays_11 = "galapagos";
     
    for($i=1; $i < $nombre_de_pays+1; $i++) {
    	$debut = '$menu_secondaire_bouton_';
    	$milieu = '$pays_'.$i;
    	$fin = '= "off";';
    	$complet = $debut.$milieu.$fin;
     
    	echo $complet.'<br/>';
    }
    j'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $menu_secondaire_bouton_$pays_1= "off";
    $menu_secondaire_bouton_$pays_2= "off";
    $menu_secondaire_bouton_$pays_3= "off";
    $menu_secondaire_bouton_$pays_4= "off";
    $menu_secondaire_bouton_$pays_5= "off";
    $menu_secondaire_bouton_$pays_6= "off";
    $menu_secondaire_bouton_$pays_7= "off";
    $menu_secondaire_bouton_$pays_8= "off";
    $menu_secondaire_bouton_$pays_9= "off";
    $menu_secondaire_bouton_$pays_10= "off";
    $menu_secondaire_bouton_$pays_11= "off";
    mais je voudrais que $pays_1, $pays_2, $pays_3... soient remplacés par le nom du pays correspondant déclaré plus haut, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $menu_secondaire_bouton_tyrol_autrichien= "off";
    $menu_secondaire_bouton_martinique= "off";
    $menu_secondaire_bouton_reunion= "off";
    $menu_secondaire_bouton_maurice= "off";
    $menu_secondaire_bouton_italie= "off";
    $menu_secondaire_bouton_croatie= "off";
    $menu_secondaire_bouton_madere= "off";
    $menu_secondaire_bouton_irlande= "off";
    $menu_secondaire_bouton_ouest_americain= "off";
    $menu_secondaire_bouton_equateur= "off";
    $menu_secondaire_bouton_galapagos= "off";
    merci de vos lumières

  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
    Les variables ne sont pas interprétées dans les guillemets simples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    $pays[] = "tyrol_autrichien";
    $pays[] = "martinique";
    $pays[] = "reunion";
    $pays[] = "maurice";
    $pays[] = "italie";
    $pays[] = "croatie";
    $pays[] = "madere";
    $pays[] = "irlande";
    $pays[] = "ouest_americain";
    $pays[] = "equateur";
    $pays[] = "galapagos";
     
    foreach ($pays as $nom) {
    	echo '$menu_secondaire_bouton_'.$nom.'="off";<br/>';
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Points : 289
    Points
    289
    Par défaut
    Je pige pas bien ce que tu cherches à faire

    Mais pour répondre à ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $nombre_de_pays = 11;
     
    $pays[1] = "tyrol_autrichien";
    ...
    $pays[11] = "galapagos";
     
    for($i=1; $i < $nombre_de_pays+1; $i++) {
    	$debut = '$menu_secondaire_bouton_';
    	$milieu = $pays[$i];
    	$fin = '= "off";';
    	$complet = $debut.$milieu.$fin;
     
    	echo $complet.'<br/>';
    }
    Renseignes-toi sur les ARRAY en php !
    "J'adorerais changer le monde, mais pas moyen de mettre la main sur le code source."
    chez moi

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 75
    Points
    75
    Par défaut
    merci beaucoup sabotage
    ça fonctionne parfaitement

    Benoit, ta version ne m'affiche rien du tout !

    merci à vous deux

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 75
    Points
    75
    Par défaut
    pour info, une fois le bout de code inclu dans mon code général, j'avais le message d'erreur suivant :
    "Fatal error: [] operator not supported for strings in"

    je l'ai résolu en ajoutant ceci :
    $pays = array();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $pays = array();
     
    $pays[] = "tyrol_autrichien";
    $pays[] = "martinique";
    $pays[] = "reunion";
    $pays[] = "maurice";
    $pays[] = "italie";
    $pays[] = "croatie";
    $pays[] = "madere";
    $pays[] = "irlande";
    $pays[] = "ouest_americain";
    $pays[] = "equateur";
    $pays[] = "galapagos";
     
    foreach ($pays as $nom) {
    	echo '$menu_secondaire_bouton_'.$nom.'="off";<br/>';
    }
    a+

  6. #6
    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
    Je suppose que $pays plus haut dans ton script etait déja utilisé en tant que chaine.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [débutant] Pb dans boucle For
    Par Sam 069 dans le forum Access
    Réponses: 2
    Dernier message: 11/09/2006, 13h10
  2. Réponses: 3
    Dernier message: 04/08/2006, 19h24
  3. problème dans boucle for de lecture de fichier ini
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 06/07/2006, 09h31
  4. [JLabel] JLabel dans boucle for
    Par clairenes dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/01/2006, 00h47
  5. Réponses: 12
    Dernier message: 10/11/2005, 09h05

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