PHP Tableau 2d avec fichier texte

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. Contributeur
    il y aurai déjà un petit peu plus de $cout[$col1][$col2] += $col3 pour ajouter le contenu ...
    1. 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...
      1. 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);
        ?>
      2. 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
      3. $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...
      4. 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 ...
      5. pardon 'C' est la clé de ma premiere ligne