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] Accès à un tableau de forme array[][]..[] avec une variable dynamique $$v


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 7
    Points
    7
    Par défaut [Tableaux] Accès à un tableau de forme array[][]..[] avec une variable dynamique $$v
    Bonjour, bonsoir ;
    ca fait déjà un bon moment que je bloque sur quelquechose qui semble tout bête. Le principe est le suivant : je souhaite acceder aux elements d'une variable de type array ; contenant elle même des elements de type array qui eux même contiennent des elements de type array etc etc, et ceci a l'aide d'une variable "dynamique" (pas sur que ca se dise comme ca ...).

    Pour faire simple voici le principe (c'est surement beaucoup plus parlant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $array = array(
    		'index1'=>array(
    				'index2'=>'value2'
    				)				
    		);
    $acces_array = "\$array[\'index1\'][\'index2\']";
    echo '$$acces_array = '.${$acces_array}.'<br>';
    echo "\$array['index1']['index2'] = ".$array['index1']['index2']."<br>";
    ?>
    (a noté que je ne me suis pas limité a la syntaxe ici présente, j'ai tenté quelques "configuration" mais rien à faire .

    Le premier echo renvoit :
    $$acces_array =
    Le second echo renvoyant :
    $array['index1']['index2'] = value2
    Autrement dit : dans le premier cas je n'arrive pas à me fins, dans le second ca marche c'est normal je n'emploi pas de variable "dynamique".


    La question : quelqu'un pourrait t'il m'indiquer la syntaxe à employer pour acceder aux éléments de ce genre de variable et ceci l'aide d'une variable dynamique.

    En vous remerciant par avance Martin.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    http://fr.php.net/manual/fr/language...s.variable.php

    Afin de pouvoir utiliser les variables dynamiques avec les tableaux, vous avez à résoudre un problème ambigu. Si vous écrivez $$a[1], l'analyseur a besoin de savoir si vous parler de la variable qui a pour nom $a[1] ou bien si vous voulez l'index [1] de la variable $$a. La syntaxe pour résoudre cette ambiguïté est la suivante : ${$a[1]} pour le premier cas et ${$a}[1] pour le deuxième.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Et tok ca m'apprendra à lire en diagonale ...

    Bref, cette synthaxe m'était en plus déjà passée sous les yeux sans même que je tilte ...Bref ; merci pour la réponse .
    Je vais testé ca de ce pas ^^.

    [edit]
    Merci de m'avoir redirigé sur php.net Séb. Enfait ta réponse ne répondait pas à ma question (dumoins je crois).
    En effet ; je souhaite utiliser une variable dynamique pour renseigner l'index de l'élément auquel je souhaite acceder et non pas pour utiliser un tableau dont je "ne connais pas" le nom.

    Cependant, j'ai trouvé mon bonheur sur la page à laquelle tu renvoyais.

    "Ma" solution ( http://fr.php.net/manual/fr/language...able.php#50529 ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $array = array(
    			'index1'=>array(
    					'index2'=>'value2'
    					)
    			);
     
    echo "\$array['index1']['index2'] = ".$array['index1']['index2']."<br>";				
    $acces_array = 'array[index1][index2]';
    $last = eval("return \$$acces_array;");
    printf("result : %s <br>",$last);
    Je renseigne donc le sujet comme résolu.

    [/edit]

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

Discussions similaires

  1. $_GET['page'] avec une variable dynamique
    Par snorky94 dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2012, 09h26
  2. [Tableaux] Exporter un tableau sous forme d'image
    Par debutanteVB.NET dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2008, 11h35
  3. Réponses: 2
    Dernier message: 04/05/2007, 16h24
  4. Réponses: 4
    Dernier message: 09/03/2006, 09h50
  5. Filtrer une requete avec une variable array
    Par hugo69 dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/11/2005, 14h33

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