PHP Tableau 2d avec fichier texte

likopa -  
Fallentree Messages postés 2445 Statut Membre -
Bonjour,

j'ai un data.txt de la forme :

A|C|30|
B|D|100|
D|B|20|
B|A|150|
G|I|15|
A|C|40|
C|C|30|

J'aimerais créer en php un tableau 2d avec ce fichier avec la premiere colonne en 1er indice,
la seconde en deuxieme indice et la troisieme en contenu. Lorsqu'il y a comme ici deux fois A|C j'aimerais qu'il m'ajoute 30 + 40 !!

J'ai fais cela sans grande convioction :

$tab = array($col1 , $col2);

$cout[$col1][$col2] = $col3

Merci d'avance

3 réponses

  1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    il y aurai déjà un petit peu plus de $cout[$col1][$col2] += $col3 pour ajouter le contenu ...
    0
  2. Fallentree Messages postés 2445 Statut Membre 210
     
    c est un array(),

    en gros:
    declaration
    $toto=array((10,2)(11,3));
    ou
    $toto=array();
    $toto[0][0]=10;
    $toto[0][1]=2;
    $toto[1][0]=11;
    $toto[1][1]=3;

    Mais le plus simple c est de regarder la doc :
    https://www.php.net/manual/fr/function.array.php

    des fonctions interressante :
    print_r($array); est la facon la plus simple d'afficher un tableau...
    0
    1. Fallentree Messages postés 2445 Statut Membre 210
       
      Je viens de lire ta question ::: je divague ...
      tu veux un tableau de 3 dimensions et faire un push sur la troisieme dimension ...
      C est ca ...

      <?php
      $stack = array("orange", "banana");
      array_push($stack, "apple", "raspberry");
      print_r($stack);
      ?>
      0
    2. likopa
       
      Non je veux un tableau a 2d. avec mon fichier texte du dessus je lis ligne par ligne :
      pour la premier je recupe le premier element ($var1) le second ($var2) et le troisieme ($var3).

      Avec mon exemple du dessus je dois avoir quelque chose du genre :

      A B D G C
      C 70 30
      D 100
      B 20
      I 15
      A 150
      0
    3. Fallentree Messages postés 2445 Statut Membre 210
       
      $col1 c est quoi ??
      la colonne entière ... ou la valeur max ... ou la valeur de parcours lors de l init par fichier.txt.
      Bref ...
      Ne confonds pas excell et Php...
      0
    4. likopa
       
      en fait je pars de mon fichier texte i=0,
      je fais : $tab_1 = explode('|', $tab_fic[$i]); // on explose la ligne à l'indice i
      je recup ensuite les valeurs de la ligne :
      $val1 = $tab_1[0]; // soit A pour la premiere ligne
      $val2 = $tab_1[1]; // soit C pour la premiere ligne
      $val3 = $tab_1[2]; // soit 30 pour la premiere ligne

      Ensuite mon tableau prend en entete de 1ere colonne 'A', en entete de second C et avec
      $toto = array(), $toto[$val1][$val2] donne 30 .

      Et ca pour chaque ligne ...
      0
    5. likopa
       
      pardon 'C' est la clé de ma premiere ligne
      0