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 :

[Tableaux] comment utiliser le nom de deux variables pour n'en faire qu'une ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 85
    Points
    85
    Par défaut [Tableaux] comment utiliser le nom de deux variables pour n'en faire qu'une ?
    Bonjour,

    j'ai un fichier php
    qui contient des variables de type $lien1 jusqu'a $lien10
    J'aurais voulu recuperer leur contenu grace à un while en construisant la variable ainsi $lien$i mais j'ai une erreur de parse à chaque fois.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $i=0;
    while($i<10)
    {
    if($lien$i !="")
    {
    echo"$lien$i";
    }
    else
    {
     echo"non";
     }
     $i++;
    }
    je remercie d'avance celui qui m'aidera

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Rien compris a ce que tu veux faire, mais dans tous les cas dans ton if faut concaténer tes deux variables en faisant $lien.$i
    et encore, je vérifierai plutot que $lien n'est pas vide et $i n'est pas vide avec un !empty()

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 85
    Points
    85
    Par défaut
    Je ne veux pas concaténé mes deux variables car la chaine qui m'interresse est dans $lien et dans $i c'est une valeur.

    j'ai 10 variable qui commence par lien suivi d'un chiffre de 0 à 10 enregistré dans un fichier php que j'introduit par un include.

    Je voudrais récupérer la valeur de ces variable grace à un lien mais je n'arrive pas à construire le nom de la variable $lien1.

  4. #4
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Avec quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var = "lien$i";
    echo $$var;

  5. #5
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Bon j'ai recherché dans le forum parce que je me rappelle jamais la syntaxe !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $i=0; 
    while($i<10) 
    {
    if(${"lien".$i} !="") 
    { 
    echo ${"lien".$i}; 
    } 
    else 
    {  
    echo"non";
    }  
    $i++; 
    }
    ca va te construire la variable dont le nom commence par "lien" et fini par le contenu de $i

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 85
    Points
    85
    Par défaut
    Je te remercie énormément, cela fonctionne très bien

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 319
    Points
    319
    Par défaut
    Variables Dynamiques comme une variables mais avec des accolades.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    echo ${'lien'.$i}; //Concaténation directe.
     
    //Pour éviter les accolade tu peut créer le nom au préalable.
    $variableName = 'lien'.$i;
    echo $$variableName;
    ?>
    Pour bien comprendre :
    PHP utilise une table des symboles dans laquelle il sauve le nom de chaque variables pour lesquelles il associe une zone mémoire(pointeur, mais osef) ou sont stocké les données. Avec $variable, il va enregistrer automatiquement le nom de 'variable', et le fait d'utiliser les accolades va lui indiquer à l'aide d'une chaîne de caractère quel nom nous voulons dans la table des symboles pour cette variable et il la créera. Dernier exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $i=1;
    ${'variable'.'Name'.$i} = 'Kikoo';
    echo $variableName1; //La variable à été crée avec ce nom composé dans la table des symboles.
    ?>

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

Discussions similaires

  1. [Débutant] Combiner deux classes pour n'en faire qu'une
    Par Domi2 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/04/2015, 17h10
  2. Réponses: 16
    Dernier message: 28/08/2009, 11h09
  3. Réponses: 3
    Dernier message: 20/12/2006, 17h13
  4. Réponses: 1
    Dernier message: 14/09/2006, 10h53
  5. Réponses: 8
    Dernier message: 21/08/2006, 19h05

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