Bonjour, j'ai un tableau ($tab_brut) de cette forme :

Code php : 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
41
42
43
 
Array
(
    [0] => Array
        (
            [dernier] => 39.530
            [variation] => 2.360
            [ouverture] => 39.500
            [plus_haut] => 40.120
            [plus_bas] => 38.060
            [volume] => 4262022
            [h_cotation] => 1273055670
            [nom] => SOCIETE GENERALE
            [M30000] => 6.80
        )
 
    [1] => Array
        (
            [dernier] => 7.720
            [variation] => 3.900
            [ouverture] => 7.300
            [plus_haut] => 7.860
            [plus_bas] => 7.070
            [volume] => 949682
            [h_cotation] => 1273055670
            [nom] => NICOX
            [M90] => 18.38
        )
 
    [2] => Array
        (
            [dernier] => 13.990
            [variation] => 2.450
            [ouverture] => 13.695
            [plus_haut] => 14.060
            [plus_bas] => 13.600
            [volume] => 1957560
            [h_cotation] => 1273055670
            [nom] => EADS
            [M90] => 1.82
        )
...
)

Je souhaite obtenir dans ce cas de figure cela (trié sur la clé M90):

Code php : 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
41
42
43
 
Array
(
    [0] => Array
        (
            [dernier] => 7.720
            [variation] => 3.900
            [ouverture] => 7.300
            [plus_haut] => 7.860
            [plus_bas] => 7.070
            [volume] => 949682
            [h_cotation] => 1273055670
            [nom] => NICOX
            [M90] => 18.38
        )
 
    [1] => Array
        (
            [dernier] => 39.530
            [variation] => 2.360
            [ouverture] => 39.500
            [plus_haut] => 40.120
            [plus_bas] => 38.060
            [volume] => 4262022
            [h_cotation] => 1273055670
            [nom] => SOCIETE GENERALE
            [M30000] => 6.80
        )
 
    [2] => Array
        (
            [dernier] => 13.990
            [variation] => 2.450
            [ouverture] => 13.695
            [plus_haut] => 14.060
            [plus_bas] => 13.600
            [volume] => 1957560
            [h_cotation] => 1273055670
            [nom] => EADS
            [M90] => 1.82
        )
...
)

Mais j'y arrive pas directement via une fonction de tri sur les tableaux

Alors j'ai fais ceci (qui marche) pour y remédier mais j'utilise 3 tableaux intermédiaires pour y arriver...

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$tab_inter = array();
$tab_final = array();
 
foreach($tab_brut as $cle=>$valeur)
	$tab_inter[$cle] = $valeur['M'.$palmares->__get('_periode')];
 
arsort($tab_inter, SORT_NUMERIC);
 
foreach($tab_inter as $cle=>$valeur)
	$tab_final[] = $tab_brut[$cle];

Existe t-il une méthode plus rapide (et plus optimisée) pour arriver à mon résultat ?

Merci