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 :

modifier nom de variable et concaténation


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 11
    Points
    11
    Par défaut modifier nom de variable et concaténation
    Bonjour,

    je fais une fonction pour traiter des données, elle prend 3 valeurs en entrée.

    saisi($categorie, $nb_equipe, $journee)

    je voudrai que suivant $categorie ça se base sur une bonne variable. Par exemple si
    $categorie = 'sm';
    alors dans ma fonction il faut que le calcul se base sur $equipe_sm[$i]

    Je n'arrive pas à insérer ce "sm" (ou autre) dans le nom de la variable pour bien la récupérer après. On peut le faire avec des if mais bon ça serait bien plus court avec une espèce de concaténation.

    rem: j'ai essayé des trucs du style $equipe_ .$categorie . [$i] mais forcement ça ne marche pas. Je finis par m'y perdre avec les ' ou " ou $$

    Merci de l'aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par edouardj
    Bonjour,

    je fais une fonction pour traiter des données, elle prend 3 valeurs en entrée.

    saisi($categorie, $nb_equipe, $journee)

    je voudrai que suivant $categorie ça se base sur une bonne variable. Par exemple si
    $categorie = 'sm';
    alors dans ma fonction il faut que le calcul se base sur $equipe_sm[$i]

    Je n'arrive pas à insérer ce "sm" (ou autre) dans le nom de la variable pour bien la récupérer après. On peut le faire avec des if mais bon ça serait bien plus court avec une espèce de concaténation.

    rem: j'ai essayé des trucs du style $equipe_ .$categorie . [$i] mais forcement ça ne marche pas. Je finis par m'y perdre avec les ' ou " ou $$

    Merci de l'aide.
    tente ça sans te jurer que ça marche :

    de le mettre dans un tableau pour faire un extract() par la suite :

    je te renvoie au manuel php.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    mouai mais bon à ce moment là je préfère faire la modif avec des if (j'ai que 6 catégories donc ça va). Merci quand même de l'indication.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    jpense que c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nom = 'equipe_'.$categorie;
     
    echo $$nom[$i];

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    non ça ne marche pas j'avais déjà essayé... en fait y a un prob je pense dès qu'on veut transformer ça en tableau avec [$i]

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    un petit switch case pluto que des if sinon

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    oui je l'ai vite vu

    En fait je suis trop bête je doitfaire ça pour appeler une bonne variable mais en fait je me suis dit ben pourquoi tu la passes pas par la fonction. Et là ça marche forcément sans faire plein de condition et concaténation. Comme quoi on se complique bien la vie...
    Mais bon si qqn connait la solution à la question je me coucherai moins idiot ce soir.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    J'avoue que ça me titillait aussi donc j'ai été faire une ptit recherche sur le net..

    C'est comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $nom = 'equipe_'.$categorie;
     
    echo ${$nom}[$i];

  9. #9
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    ${$nom}[$i]


    edit : grillé

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    bien joué c'est ça

    j'avais essayé mais je n'avais pas placé les accolades au bon endroit.
    Merci

  11. #11
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par edouardj
    non ça ne marche pas j'avais déjà essayé... en fait y a un prob je pense dès qu'on veut transformer ça en tableau avec [$i]
    alors peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $nom = 'equipe_'.$categorie;
    $var=&$$nom;
    echo $var[$i];
    un global $$nom; peut aussi être nécessaire.

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

Discussions similaires

  1. [Tableaux] Concaténer 2 noms de variables
    Par Sytchev3 dans le forum Langage
    Réponses: 7
    Dernier message: 03/08/2007, 15h11
  2. Concaténation de variables dans un nom de variables ?
    Par debie1108 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2007, 04h51
  3. Concaténer une chaine et un nombre pour former un nom de variable ?
    Par debie1108 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/04/2007, 08h38
  4. concaténation de nom de variable
    Par sandytarit dans le forum Langage
    Réponses: 10
    Dernier message: 23/01/2007, 11h52
  5. [VBSCRIPT] concaténer 2 noms de variable
    Par wil4linux dans le forum ASP
    Réponses: 4
    Dernier message: 28/02/2006, 14h22

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