Opérations sur tableaux (tri)
Bonjour, j'ai un tableau ($tab_brut) de cette forme :
Code:
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:
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 :cry:
Alors j'ai fais ceci (qui marche) pour y remédier mais j'utilise 3 tableaux intermédiaires pour y arriver...
Code:
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