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 :

extraire une valeur dans un tableau à 2 dimensions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut extraire une valeur dans un tableau à 2 dimensions
    Bonjour,
    je lis des fichiers CSV. Donc je récupère un tableau dont chaque élément comporte lui-même un tableau qui contient un enregistrement (ou une ligne) du fichier CSV. Il s'agit donc d'un tableau à 2 dimensions. Je voudrais extraire la colonne 1 de chaque enregistrement du CSV. Voici mon code (on suppose que la lecture du fichier CSV est déjà faite et que son contenu est dans le fichier $val)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     foreach($val as $val_bdd)  //$val_bdd is an array with one line of the CSV file
        {
         $val_bdd=explode(',',$val_bdd);
         foreach ($val_bdd as $val_in_line_csv)
                         {
                             if (($i++)==1) echo "val_1=".$val_in_line_csv."<br/>";
                         }
       }
    Non seulement c'est pas au point (aucun affichage), mais même si marchait, on doit pouvoir mieux faire. Comment ?

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    salut,

    array_column() devrait répondre à ton besoin.

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Bonsoir,
    j'ai regardé array_column. Ca conviendrait si j'avais un tableau associatif. Le souci est qu'après avoir effectué un foreach sur le tableau retourné en lisant le contenu du CSV, je récupère des chaînes de caractères. Je les convertis en tableaux avec un explode, mais c'est un tableau numérique. Par contre, je connais le nom des colonnes et ça ne change jamais (il suffit de lire la première ligne du CSV), donc l'idéal serait de pouvoir convertir ce tableau numérique en tableau associatif où chaque index serait le nom de colonne.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     foreach($val as $val_bdd)  //$val_bdd is an array with one line of the CSV file
    {
          $val_bdd=explode(',',$val_bdd);
          var_dump($val_bdd);echo "<br/>"; //$val_bdd is a numeric array
    ...
    }

    Prenons un exemple simple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $arr=(0=>'elt0',
          1=>'elt1',
          2=>'elt2');
    $list_column=['index0','index1','index2'];
    comment convertir le tableau en
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $arr_assoc=('index0'=>'elt0',
                'index1'=>'elt1',
                'index2'=>'elt2');

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $data = array_combine($list_column, $arr);

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/01/2007, 21h04
  2. Réponses: 4
    Dernier message: 28/11/2006, 00h20
  3. Chercher une valeur dans un tableau
    Par christel1982 dans le forum ASP
    Réponses: 5
    Dernier message: 14/09/2006, 10h01
  4. Rechercher une valeur dans un tableau
    Par pafi76 dans le forum Access
    Réponses: 2
    Dernier message: 29/06/2006, 15h23
  5. Réponses: 21
    Dernier message: 28/02/2006, 16h23

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