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] référence d'un tableau comme paramètre et comme retour d'une fonction


Sujet :

Langage PHP

  1. #1
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut [Tableaux] référence d'un tableau comme paramètre et comme retour d'une fonction
    Bonjour a tous,

    Je souhaiterai transmetre une réference d'un tableau a une fonction et récuperer une réference de ce meme tableau :p

    pour mieux comprendre, voici ce que je voudrai faire ( en plus simple )
    Je defini mon tableau
    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
    24
    25
    $my_array=array
              (
                  array
                  (
                      "params"=>"mes parametres",
                      "__node"=>array
                                (
                                    array
                                    (
                                        "params"=>"mes parametres",
                                        "__node"=>array()
                                    ),
                                    array
                                    (
                                        "params"=>"mes parametres",
                                        "__node"=>array()
                                    )
                                )
                  ),
                  array
                  (
                      "params"=>"mes parametres",
                      "__node"=>array()
                  )
              );
    jutilise mon tableau ici
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    function my_function(&$ref_array)
    {
      // ici, je récupere bien une réference de mon tableau $my_array
      $ref_in_array=&$ref_array[0]["__node"];
      return $ref_in_array;
    }
     
    $my_ref=&my_function($my_array);
    $my_ref[0]["params"]="autres parametres";
     
    echo '<pre>';
    print_r($my_array);
    echo '</pre>';
    /*
    print_r($my_array); retourne :
     
    Array
    (
        [0] => Array
        (
            [params] => mes parametres
            [__node] => Array
            (
                [0] => Array
                (
                    [params] => mes parametres
                    [__node] => Array
                    (
                    )
                )
                [1] => Array
                (
                    [params] => mes parametres
                    [__node] => Array
                    (
                    )
                )
            )
        )
     
        [1] => Array
        (
            [params] => mes parametres
            [__node] => Array
            (
            )
        ) 
    )
    */
    Le probleme est que l'affectation $my_ref[0]["params"]="autres parametres"; ne modifie pas mon tableau $my_array alors que j'aimerai que oui =)
    bref comment faire... j'ai essayé pas mal de chose san résultat proban

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    C'est pas plutôt ça que tu souhaites faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function &my_function($ref_array)
    {
      // ici, je récupere bien une réference de mon tableau $my_array
      $ref_in_array=$ref_array[0]["__node"];
      return $ref_in_array;
    }
     
    $my_ref=&my_function($my_array);
    $my_ref[0]["params"]="autres parametres";
     
    echo '<pre>';
    print_r($my_array);
    echo '</pre>';
    ?
    J'avoues avoir du mal à comprendre le but final juste avec ce code

  3. #3
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    merci pour cette réponse rapide
    C'est exactement ca

    Je vennait juste de trouver Retourner des références

    J'avoues avoir du mal à comprendre le but final juste avec ce code
    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
    24
    25
     
    class Tree
    {
      var $wood;//Array type : ce tableau represente un noeud de l'arbre
      // il contien le chemin pour atteindre le noeud
      //  $my_array[0]["params"] etc.. contient le nom du noeud courant
     
      function &moveToNode(&$parentNode)
      {
        $position=&$parentNode;
        foreach ($parentNode as &$node)
        {
          //on vérifie si on est sur la chemin vers le noeud cible
          if( $node['params']==$this->wood[$this->Depth] )
          {
            $this->Depth++;
            $position=&$this->moveToNode($node['__node']);
            $this->Depth--;
          }
        }
        return $position;
      }
      function deleteChild($deleteNode) {}
      // ...
    }

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/03/2008, 17h23
  2. Réponses: 4
    Dernier message: 15/08/2007, 22h05
  3. Réponses: 8
    Dernier message: 19/07/2007, 16h40
  4. [PHP-JS] Variable PHP comme argument dans l'appel d'une fonction Javascript
    Par The Molo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/04/2007, 09h00
  5. Réponses: 2
    Dernier message: 15/01/2007, 18h42

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