Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1934 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Tableau associatif trois dimensions...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tableau associatif trois dimensions...

n°1217413
neo00neo
Posté le 07-10-2005 à 11:24:59  profilanswer
 

Bonjour,
je cherche à créer un tableau à trois dimensions... Il faut que cela soit un tableau associatif, mais j'ai quelques soucis.
Déjà j'essaie de me créer un tableau associatif à 2 dimensions, comme ceci :
my %value = (
  'Ensemble','Sévérité'=>'1',
  'Ensemble','Informations'=>'Test d\'infos',
  'Ensemble','Date'=>'10/10/05',
  'Ensemble','Etat'=>'HS',
  'Ensemble','N° Prestation'=>'2005',
  'Ensemble','Supertype'=>'Transpac',
  'Ensemble','Libelle d\'alarme'=>'E202A',
  'Ensemble','Titulaire'=>'Dupond',
  'Ensemble','Donnees'=>'Tests de données',
  'Ensemble','GTR'='GTR');

 
Puis j'essaie d'afficher les données comme ceci :print " Test : ".$value{1}{1};
 
mais rien à faire, je ne vois rien d'afficher à côté de "Data :", pareil si j'essaie d'afficher comme cela : print " Test : ".$value{0}{0};, ou comme cela pour avoir juste une donnée : print " Test : ".$value{'Ensemble'}{'Date'};...
 
Voilà, merci de votre aide ! :)

mood
Publicité
Posté le 07-10-2005 à 11:24:59  profilanswer
 

n°1217578
pospos
Posté le 07-10-2005 à 13:40:30  profilanswer
 

ce que tu semble vouloir faire s'ecrit comme ca:

Code :
  1. my %value = (
  2.   Ensemble => {
  3.     'Sévérité'=>'1',
  4.     'Informations'=>'Test d'infos',
  5.     'Date'=>'10/10/05',
  6.     'Etat'=>'HS',
  7.     'N° Prestation'=>'2005',
  8.     'Supertype'=>'Transpac',
  9.     'Libelle d'alarme'=>'E202A',
  10.     'Titulaire'=>'Dupond',
  11.     'Donnees'=>'Tests de données',
  12.     'GTR'='GTR'
  13.   },
  14.   'Ensemble2' => {a=> b},
  15. );


 
Mais si tu ne comprend pas ces structures de données (references) tu peux aussi tout mettre à plat dans un seul niveau de hash:
au lieu de faire $value{Ensemble}{GTR} tu peu faire $value{'Ensemble - GTR'} (si tu est sur qu'il n'y a pas de ' - ' dans tes clés).
 
et du coup ta structure s'ecrirait comme ca:

Code :
  1. my %value = (
  2.   'Ensemble - Sévérité'=>'1',
  3.   'Ensemble - Informations'=>'Test d'infos',
  4.   'Ensemble - Date'=>'10/10/05',
  5.   'Ensemble - Etat'=>'HS',
  6.   'Ensemble - N° Prestation'=>'2005',
  7.   'Ensemble - Supertype'=>'Transpac',
  8.   'Ensemble - Libelle d'alarme'=>'E202A',
  9.   'Ensemble - Titulaire'=>'Dupond',
  10.   'Ensemble - Donnees'=>'Tests de données',
  11.   'Ensemble - GTR'='GTR');


 
en plus à priori ca prendra moins de place et ca sera plus rapide. Le seul probleme sera que tu ne pourra pas facielemnt parcourir l'ensemble des clés d'un niveau donné

n°1217600
neo00neo
Posté le 07-10-2005 à 13:51:33  profilanswer
 

Je te remercie c'est exactement ce que je cherchais !

n°1217867
ledzep2
Posté le 07-10-2005 à 16:53:48  profilanswer
 

Pour parcourir ta hash y a cette forme :
foreach $a (keys %valeur){}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Tableau associatif trois dimensions...

 

Sujets relatifs
Tableau qui s'affiche de manière incomplète[TABLE/CSS] Tableau avec ascenseur !
tableau htmlVariable PHP fait exploser un tableau :(
delete[] & tableau de pointeurscomment transformer un fichier xml en un tableau
sql tableaumenu select qui affiche/cache les lignes d'un tableau
Marcro et Fusion d'un tableau Excel dans WordInsérer une page dans un tableau précis.
Plus de sujets relatifs à : Tableau associatif trois dimensions...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR