[RESOLU]Array et fonction max qui ne marche pas ...

Array et fonction max qui ne marche pas ... [RESOLU] - PHP - Programmation

Marsh Posté le 26-05-2007 à 23:23:45    

Bonjour,
 
J'ai un tableau :  
Array ( [0] => 1 [1] => 6 [2] => 11 [3] => 16 [4] => 21 [5] => 26 [6] => 31 [7] => 36 [8] => 41 [9] => 46 [10] => 51 [11] => 56 [12] => 61 [13] => 66 [14] => 71 [15] => 76 [16] => 81 [17] => 86 [18] => 91 [19] => 96 [20] => 101 [21] => 106 [22] => 111 [23] => 116 [24] => 121 [25] => 126 [26] => 131 [27] => 136 [28] => 141 [29] => 146 [30] => 151 [31] => 156 [32] => 161 [33] => 166 [34] => 171 [35] => 176 [36] => 181 [37] => 186 [38] => 191 [39] => 196 [40] => 201 [41] => 206 [42] => 211 [43] => 216 [44] => 221 [45] => 226 [46] => 231 [47] => 236 [48] => 241 [49] => 246 [50] => 251 [51] => 256 [52] => 261 [53] => 266 [54] => 271 [55] => 276 [56] => 281 [57] => 286 [58] => 29100 [59] => 296 [60] => 301 [61] => 306 [62] => 311 [63] => 316 [64] => 321 [65] => 3260 [66] => 331 [67] => 336 [68] => 341 [69] => 346 [70] => 351 [71] => 356 [72] => 361 [73] => 366 [74] => 371 [75] => 376 [76] => 381 [77] => 386 [78] => 391 [79] => 396 )  
Je veux juste récupérer la plus grande valeur, apparement, c'est tout con: je fais juste un max($tableau)
Mais, surprise, le résultat de ce max n'est pas 29100 comme on pourai s'y attendre, mais 96!
et là, je ne comprends vraiment pas pourquoi.
Si quelq'un a une explication, n'hesitez pas!
Merci


Message édité par greemlin le 01-06-2007 à 08:28:54
Reply

Marsh Posté le 26-05-2007 à 23:23:45   

Reply

Marsh Posté le 27-05-2007 à 00:08:44    

j'ai rien dit, il a fait un print_r en fait je pense...


Message édité par pimsa le 27-05-2007 à 00:09:54
Reply

Marsh Posté le 27-05-2007 à 11:25:50    

hu ?
oui j'ai fait un print_r sur mon tableau, pour vérifier qu'il prend bien toutes les valeurs, ce qui est le cas; et sur mon max()

Reply

Marsh Posté le 29-05-2007 à 22:03:56    

up

Reply

Marsh Posté le 29-05-2007 à 22:08:39    

On peut avoir le code entre la déclaration du tableau et l'utilisation du max ?

Reply

Marsh Posté le 30-05-2007 à 09:09:02    

t'aurais pas des strings dans ton tableau?

Reply

Marsh Posté le 30-05-2007 à 12:26:04    

ok alors ca se présente comme ca:
j'ai mon fichier dans lequel je cherche le max:
 
$temps = file('temps.txt');
$taille = file('taille.txt');
$max_temps = max($temps);
$max_taille = max($taille);
 
et les fichiers temps.txt et taille.txt contiennent des valeurs:
temps.txt:
1
6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
101
106
111
116
121
126
131
136
141
146
151
156
161
166
171
176
181
186
191
196
201
206
211
216
221
226
231
236
241
246
251
256
261
266
271
276
281
286
29100
296
301
306
311
316
321
3260
331
336
341
346
351
356
361
366
371
376
381
386
391
396
 
et taille.txt:
48
23
23
23
23
24
25
29
27
32
30
31
39
37
40
47
50
52
57
63
69
76
91
96
103
121
128
141
184
208
176
192
206
223
295
282
297
318
345
371
390
428
465
471
531
567
587
608
652
681
728
774
821
858
977
955
995
1069
1136
1186
13840
13670
14100
14490
1656
1579
1855
1806
1742
1819
1895
1961
2104
2162
2301
2387
2532
2858
3351
2847
 
mon but étant au final de faire un graphique recoupant ces deux fichiers. et pour permettre de gérer l'echelle de ce graph, je voudrais récupérer les valeurs max
 
et non, a priori je n'ai pas de strings dans mon tableau, puisque quand je fais un print_r du tableau, je trouve ce que j'ai écri dans le premier post.
merci

Reply

Marsh Posté le 30-05-2007 à 12:48:26    

C'est normal, file() retourne des strings. Donc en gros max() te compare alphabétiquement les nombres, et alphabétiquement 96 est plus grand que 546541231, tout comme "Yo" est plus grand que "J'ai mangé des frites moisies au mac do ce midi"

 

Donc il faut que tu transformes tout ça en nombre (genre avec intval()) et après, yeah baby rocks :)


Message édité par theredled le 30-05-2007 à 12:56:51

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 01-06-2007 à 08:28:35    

exacte. merci beaucoup, ca marche nikel :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed