Bonjour,
Je voudrais trier un tableau associatif à deux dimension sur une de ses clefs.
voila ce que j'ai fait :
Je veux tirer le tableaux par localisation ('loc').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); //echo "<p> $num fields in line $row: <br /></p>\n"; $row++; if (substr($data[0],0,1) != '#') { $field = explode('>',$data[0]); if ($field[2] == 'FM') { $FM[$i]['cli'] = $field[0]; $FM[$i]['loc'] = $field[1]; $FM[$i]['type'] = $field[2]; $FM[$i]['con'] = $field[3]; $FM[$i]['p3'] = $field[4]; $FM[$i]['soft'] = $field[5]; $i++; } } } fclose($handle); function compare($a, $b) { //V is always first if ($a == 'loc' || $b == 'loc') { if ($a == 'loc') { return -1; } else { return 1; } } else { return strnatcasecmp($a, $b); } } uksort($FM, 'compare') ; foreach ($FM as $key => $value) echo $value['loc'].' - '.$value['cli'].'<br>';
Cela ne fonctionne pas ... normal ... mon tableau n'est pas unidimetionnel.
je ne vois pas comment faire, je suis un peu bloqué ...
Merci
Partager