Array et fonction max qui ne marche pas ... [RESOLU] - PHP - Programmation
Marsh Posté le 27-05-2007 à 00:08:44
j'ai rien dit, il a fait un print_r en fait je pense...
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()
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 ?
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
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
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