J'ai modifié mon script ci dessus notamment dans la lecture du fichier, mais sur une nouvelle approche aussi.
Mon fichier texte en lecture n'a pas changer, les données sont les mêmes :
A la différence, c'est que je veux traiter les données cette fois-ci verticalement : 1) 7-3-4-6-4-19... 2) 8-21-7-20-14-317-8-22-28-38+10
3-21-32-33-38+10
4-7-14-31-37+8
6-20-24-31-36+4
4-14-23-35-46+7
19-31-38-44-49+3
etc...
etc... 6 colonnes à traiter.
Voici mon nouveau code :
<?php
$fichier = fopen ("nouveau_loto.txt", "r");
$x=1;
while ($x<=filesize("nouveau_loto.txt"))
{
$contenu_du_fichier = fgets ($fichier, filesize("nouveau_loto.txt"));
$modif_fichier = preg_replace('/([-+]+)/', '.', $contenu_du_fichier);
$tab[$x]=explode(".",$modif_fichier);
$x++;
}
fclose ($fichier);
for($b=0;$b<=5;$b++)
{
for($a=1;$a<=205;$a++)
{ //$val=$tab[$a][$b].'<br>';
$list1=$tab[$a][0];
$list2=$tab[$a][1];
$tab1[]=$list1;
$tab2[]=$list2;
}}
$tab_values=array_count_values($tab2);
//sort($tab_values);
foreach ($tab_values as $cle=>$val)
{
print "[$cle] $val<br>";
}
//print_r($tab1);
?>
C'est ce que je veux, ya pas de soucis. idem pour la colonne $list2=$tab[$a][1];et les autres: [2];[3];[4];[5] que je n'ai pas rajouter ici pour cause d'affichage.$list1=$tab[$a][0];
$tab1[]=$list1;
Affiche :
[8] 42
[21] 60
[7] 36
[20] 96
[14] 60
[31] 30
[17] 36
[5] 84
J'ai réalisé une boucle for($b=0;$b<=5;$b++) sur $val=$tab[$a][$b].'<br>'; pour m'éviter d'écrire les 6 références au dessus [0] à [5]
Hors, c'est pas vraiment ce que je veux enfin pour la boucle oui, pour l'affichage non.
Je voudrais que mes 5 colonnes s'affiches simultanément et surtout séparément. En clair, la colonne [0] s'affiche, puis à coté la colonne [1]....etc
Mais je ne vois pas trop comment faire. Ensuite je souhaiterai rajouter la somme à la fin de chaque colonnes du résultat que j'ai obtenu avec la fonction array_count_values ex: 42+60+36...84=xxx
Dailleurs, on remarque que je peux faire qu'1 array_count_values sur qu'une colonne, j'aurai une idée de mettre une boucle sur le array_count_values avec une condition pour que l'affichage passe à la colonne suivante jusqu'a [5].
C'est compliqué, je n'arrive pas à organiser mon code. J'ai le résultat que je souhaitais. Mais l'affichage me pose problème.
Merci