[PHP] Trier un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [PHP] Trier un tableau

Re: [PHP] Trier un tableau

par Elie » 11 juil. 2014, 21:25

<?php

$a = array (
    0 => array
        (
            'A' => 31.2,
            'B' => 18.12,
            'C' => 2.79
        ),

    1 => array
        (
            'A' => 64.12,
            'B' => 9.94,
            'C' => 0.13
        ),

    2 => array
        (
            'A' => 64.12,
            'B' => 9.94,
            'C' => 3.82
        )
);

foreach($a as $k => $v) {
	foreach($v as $key => $val) {
		$sort[$k] = $val;
	}
}

arsort($sort); // Tu récupères l'ordre des tableaux.

foreach($sort as $k => $v) {
	foreach($a[$k] as $key => $val) {
		echo $key.' '.$val.'<br />';
	}
}


?>
 
Je fais comme a moi ...

Re: [PHP] Trier un tableau

par Invité » 11 juil. 2014, 20:24

Euh je me suis trompé en recopiant les tableaux...
INITIAL
Array
(
    [0] => Array
        (
            [A] => 29.32
            [B] => 21.12
            [C] => 0.13
        )

    [1] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 3.82
        )

    [2] => Array
        (
            [A] => 31.2
            [B] => 18.12
            [C] => 2.79
        )
)
APRÈS TRAITEMENT
Array
(
    [0] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 3.82
        )

    [1] => Array
        (
            [A] => 31.2
            [B] => 18.12
            [C] => 2.79
        )
 
    [2] => Array
        (
            [A] => 29.32
            [B] => 21.12
            [C] => 0.13
        )
)

[PHP] Trier un tableau

par Ara » 11 juil. 2014, 20:20

Bonjour à toutes et à tous :)

Je poste aujourd'hui sur ce forum, car je souhaite faire quelque chose qui me semble un peu complexe à mettre en place (pas très propre).
J'ai un tableau $tab contenant des sous-tableaux (qui contiennent des clés et leur valeur associée).
En somme j'ai quelque chose comme ça :
Array
(
    [0] => Array
        (
            [A] => 31.2
            [B] => 18.12
            [C] => 2.79
        )
 
    [1] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 0.13
        )

    [2] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 3.82
        )
)
Je cherche à trier $tab selon la clé C décroissante de ses sous-tableaux pour obtenir quelque chose comme ça :

Array
(
    [0] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 3.82
        )

    [1] => Array
        (
            [A] => 31.2
            [B] => 18.12
            [C] => 2.79
        )
 
    [2] => Array
        (
            [A] => 64.12
            [B] => 9.94
            [C] => 0.13
        )
)
J'ai pensé à array_multisort(), mais ça ne semble pas correspondre à ce que je veux faire... #-o

Auriez-vous une idée ?

Je vous remercie d'avance de vos suggestions ! :)