PHP Tableau 2d avec fichier texte

Fermé
likopa - 30 nov. 2010 à 10:00
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 19 févr. 2011 à 12:01
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
A voir également:

3 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
30 nov. 2010 à 10:06
il y aurai déjà un petit peu plus de $cout[$col1][$col2] += $col3 pour ajouter le contenu ...
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
30 nov. 2010 à 10:10
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
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 30/11/2010 à 10:15
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
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
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 30/11/2010 à 10:29
$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
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
pardon 'C' est la clé de ma premiere ligne
0