Bonjour,

Je voudrais trier un tableau associatif à deux dimension sur une de ses clefs.

voila ce que j'ai fait :

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>';
Je veux tirer le tableaux par localisation ('loc').
Cela ne fonctionne pas ... normal ... mon tableau n'est pas unidimetionnel.
je ne vois pas comment faire, je suis un peu bloqué ...

Merci