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 les données d'un tableau multi-dimensionnel d'un fichier texte


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut Extraire les données d'un tableau multi-dimensionnel d'un fichier texte
    bonjour

    Avec la fonction ci-dessus j'arrive à mettre en tableau des données contenues dans un fichier.txt

    cache.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1,230;2,163;3,560;4,789;5,892;6,14
    test.php
    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
     
    <?php
    session_start();
    // le fichier
    $fichier='cache.txt';
    // ouverture du fichier
    $fp=fopen($fichier,'r');
     
    while (!feof($fp)) {
    // lecture et decoupage des lignes à chaque ;
    $position=explode(";",fgets($fp,255));
    // $position dans la ligne commence à zero
                       }
    // fermeture du fichier
    fclose($fp);
     
    $nbr=sizeof($position);
    echo "le nombre de ligne est :".$nbr;
    //affiche 3
    print_r($position);
    //affiche
    //Array ( [0] => 1,230 [1] => 1,163 [2] => 2,560 [3] => 3,789 [4] => 4,892 [5] => 5,14 ) 
    ?>
    Mon problème est le suivant :

    Dans le fichier txt, la première valeur avant la virgule est une clé liée à un nombre.
    Avec la fonction explode(), j'arrive à faire la découpe à partir du ; pour chaque ligne.
    Par contre au sien de la ligne je n'arrive pas à faire la découpe par colonne. Car à
    chaque ligne il y a deux colonnes : La colonne clé : le nombre avant la virgule et la
    colonne nombre lié à la clé



    Le but c'est d'avoir un tableau comme ça
    Array ( [0] => Array ( [0] => 1 [1] => 230)
    [1] => Array ( [0] => 2 [1] => 163)
    [2] => Array ( [0] => 3 [1] => 560)
    [3] => Array ( [0] => 4 [1] => 789)
    [4] => Array ( [0] => 5 [1] => 892)
    [5] => Array ( [0] => 6 [1] => 14))

    Donc comment faire pour la découpe par colonne en même temps que la découpe par ligne ?
    Je ne trouve pas

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $line = "1,230;2,163;3,560;4,789;5,892;6,14";
     
    $arr = explode(";", $line);
    foreach($arr AS $k => $v) {
    	$arr[$k] = explode(',', $v);
    }
    var_dump($arr);
    Affichera :
    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
    Array (6)
    (
    |    ['0'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "1"
    |    |    ['1'] = String(3) "230"
    |    )
    |    ['1'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "2"
    |    |    ['1'] = String(3) "163"
    |    )
    |    ['2'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "3"
    |    |    ['1'] = String(3) "560"
    |    )
    |    ['3'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "4"
    |    |    ['1'] = String(3) "789"
    |    )
    |    ['4'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "5"
    |    |    ['1'] = String(3) "892"
    |    )
    |    ['5'] => Array (2)
    |    (
    |    |    ['0'] = String(1) "6"
    |    |    ['1'] = String(2) "14"
    |    )
    )

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Points : 126
    Points
    126
    Par défaut rep
    Merci

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

Discussions similaires

  1. Extraire les données d'un tableau html dans un xml
    Par nathamis dans le forum Langage
    Réponses: 1
    Dernier message: 25/02/2014, 13h27
  2. Réponses: 4
    Dernier message: 27/05/2010, 09h07
  3. Extraire les données des cellules d'un tableau html
    Par taz82000 dans le forum Langage
    Réponses: 8
    Dernier message: 05/06/2009, 22h24
  4. Réponses: 4
    Dernier message: 21/01/2009, 14h45
  5. [MySQL] extraire les données d'un tableau
    Par fraisa1985 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/07/2008, 16h17

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