Bonjour,

J'ai un probleme de remplissage et de lecture d'une structure de données complexe.

Voici la strucutre:
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
 
intrpt = (
              0 => {name_vector = "XXXX",
                       0 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       1 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       2 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       ...
                       x => { name_intrpt = "xxxx",
                                 classe        = "yyyy"}
                   },
              1 => {name_vector = "XXXX",
                       0 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       1 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       2 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       ...
                       x => { name_intrpt = "xxxx",
                                 classe        = "yyyy"}
                   },
          ...
              X => {name_vector = "XXXX",
                       0 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       1 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       2 => { name_intrpt = "xxxx",
                                 classe        = "yyyy"},
                       ...
                       x => { name_intrpt = "xxxx",
                                 classe        = "yyyy"}
                   }
)
Le nombre de vector est variable et non connu lors de la declaration,
idem pour le nombre d'intrpt par vector.
Serait il possible d'avoir une methode pour ajouter un element et le lire (j'ai essayé toute sorte de methode mais ca releve plus de la bricole qu'autre chose).

Pour l'instant (qui ne marche pas):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$struct{"intrpt"}{$int_vector_id} = {name_vector => $nom_vecteur};
$struct{"intrpt"}{$int_vector_id}{$int_intrpt_id} = {name_intrpt => $nom_intrpt, class_intrpt => $nom_classe};
 
 
#pour lire:
$int_vector0 = $struct->{"intrpt"}{0}->{name_vector}; # fonctionne
$int_bit0      = $struct->{"intrpt"}{0}->{0}->{name_intrpt}; # est vide 
$int_bit0      = $struct->{"intrpt"}{0}->{0}->{class_intrpt}; # est vide
Je pense que je me perd dans mes hashs de hash,
Si quelqu'un pouvait me donner une methode pour remplir mon hash puis une pour y acceder cela serait vraiment sympa car je ne vois pas ou faire mes modifs...

Merci d'avance,