|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
Bonjour à tous
J'ai un tableau $cumul issu de la fusion de plusieurs csv. A l'affichage de $cumul, j'obtiens : 1 Pierre 865 2 Paul 863 3 Michel 860.00 4 Jean 856 .... Le format du score (colonne 3) diffère selon la version du programme ayant généré le csv. Vous avez compris que je souhaite remplacer 860.00 par 860. J'ai essayé : Code :
$cumul = str_replace( ".00", "", $cumul); Soit j'utilise mal la fonction, soit elle n'est pas adaptée à mon cas ? |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
utilise intval
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
Ah ben oui,c'est bien plus facile avec intval !!!
Merci Stealth. Un autre souci, toujours dans mon tableau $cumul : 1 Pierre 865 2 Paul 860 3 Michel 860 4 Jean 856 ... En cas de score identique(colonne 3), je voudrais afficher : 1 Pierre 865 2 Paul 860 2 Michel 860 4 Jean 856 ... Sachant que la colonne 1 a été créée par incrémentation de 1 à sizeof($cumul) |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
montre ton code complet
ps : pas de sizeof c'est count
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
Voilà :
- à la ligne 33, j'ai un tri par score décroissants (colonne[8]). - à la ligne 43, j'ai ajouté une simple numérotation par ligne (colonne[0]). Ce que je souhaite, c'est que cette numérotation tienne compte des ex-aequo Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
fait :
ensuite tu ferras un array_values + implode
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
Là, je comprends plus...
Ca dépasse mes faibles connaissances. Je cherche un truc du genre : Code :
|
||
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
un truc comme ça ?
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
Merci Stealth.
Il me reste à essayer de l'adapter à mon cas.... |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
L'affichage avec :
Code :
echo array_search($item[2], $sort) + 1, $item[1], $item[2], "\n"; |
|
|
00
|
|
|
#11 | |||
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
Code :
__________________
http://blog.stealth35.com/ |
|||
|
|
00
|
|
|
#12 | |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Citation:
Pour obtenir ce genre de tableau : Pierre 865 Paul 860 Michel 860 Jean 856 Et ensuite d'effectuer le classement ?
__________________
|
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
J'ai donc maintenant ceci :
- fusion de 3 csv - tri par score décroissant [8] - classement par place avec gestion ex-aequo Dernier souci : en ligne 74, je fais un export csv du tableau avec $fp = fopen('csv/test.csv', 'w+'); Malheureusement,seulement la dernière ligne de mon tableau est exportée. Avec l'option 'a+' le tableau complet est exporté, mais autant de fois que la page est rechargée. Il doit y avoir une erreur dans le foreach de la ligne 76.... Mais je vois pas. Code :
|
||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() daniel thirion Inscription : février 2011 Messages : 21 ![]() |
J'ai trouvé : il fallait faire un double foreach.
Code :
|
||
|
|
00
|
|
|
#15 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Par contre, même un code qui marche peut être mauvais.
Pensez à la personne qui peut éventuellement maintenir votre code. Cette ligne est incompréhensible. Code :
$a = array(array(array_search($item[8], $sort) + 1,$item[1],$item[4],$item[5],$item[6],$item[8]));
__________________
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com