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 :

réindexer un tableau multi-dimensionnel


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut réindexer un tableau multi-dimensionnel
    Bonjour à tous,

    j'ai le code suivant qui fonctionne plutôt bien !:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	function boom($elt)
    	{
    		return explode(';',$elt);
    	}
    	$b=array_map('boom',file('myfile.txt'));
    dans myfile.txt j'ai ceci:
    hello;world;joe
    hallo;welt;hans
    bonjour;monde;michel

    ca me renvoie ceci, ce qui est tout à fait le résultat attendu !
    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
    Array
    (
    [0] => Array (
              [0] => hello
              [1] => world
              [2] => joe )
    [1] => Array (
              [0] => hallo
              [1] => welt
              [2] => hans )
    [2] => Array (
              [0] => salut
              [1] => monde
              [2] => michel )
    )
    ce que je souhaiterais faire, c'est modifier le code pour avoir un tableau que je pourrais appeler de la facon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // devrait renvoyer welt
    echo $montableau['hallo'][0];
     
    // devrait renvoyer michel
    echo $montableau['salut'][1];
    il me semble que c'est un tableau associatif qu'il faut utiliser.

    avez-vous une idée ?

    d'avance merci !

  2. #2
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 485
    Points : 875
    Points
    875
    Par défaut
    Bonjour à tous,

    j'ai fait ceci qui fonctionne:

    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
    	function boom($elt)
    	{
    		return explode(';',$elt);
    	}
     
    	$myfile='myfile.txt';
    	$monfichtableau=file($myfile);
    	$montableau=array_map('boom',$monfichtableau);
     
    	foreach ($montableau as $key)
    	{
    		$mytab[$key[0]][0]=$key[1];
    		$mytab[$key[0]][1]=$key[2];
    	}
     
    	echo $mytab['hello'][0];
    par contre ca ne me parait pas optimal (à cause du foreach), est-ce que vous avez une solution plus mieux ?

    d'avance merci !

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2007, 10h52
  2. Réponses: 5
    Dernier message: 04/10/2006, 18h49
  3. [Tableaux] Tableau multi dimensionnel
    Par gids01 dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2006, 16h18
  4. [Tableaux] tri sur un tableau multi-dimensionnel
    Par nicoaix dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2006, 21h23
  5. Réponses: 4
    Dernier message: 24/08/2005, 14h09

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