Fonction PHP : ordonner_desc()

Ici, vous pouvez voir (et copier/coller) le code complet de la fonction PHP ordonner_desc(). N'hésitez pas voter pour cette fonction si elle vous plaît ou si vous vouv en servez !

ordonner_desc() ajouté le 2009-07-26 16:40:59 par Bartimeus

function ordonner_desc($tableau, $champ_a_ordonner) {
    /*
    *  Ordonne les entrées d'un tableau dans un ordre décroissant selon le champ précisé.
    * @param array $tableau Tableau à trier
    * @param string or int Nom ou identifiant du champ selon lequel doivent être classés les champs
    * @return array array('id' => cle, 'entree' => contenu_de_l'entree);
    */
    $i = 1;
    $nbr_entrees = count($tableau);
    $plus_grand = array('entree' => array($champ_a_ordonner => 0)); //tableau qui contiendra l'entrée la plus grande qu'il reste, et qui sera réinitialisé après chaque foreach
    $tab_trie = array();//tableau qui est retourné par la fonction
    while($i++ <= $nbr_entrees) { // petite astuce apprise dans le tutoriel Java, plutot sympathique car plus besoin d'avoir le ++$i en bas de la boucle
	foreach($tableau as $key => $entree) {
	    if($entree[$champ_a_ordonner] > $plus_grand['entree'][$champ_a_ordonner]) { // si c'est plus grand, on prend
		$plus_grand = array('id' => $key, 'entree' => $entree);
	    }
	}
	$tab_trie[] = $plus_grand; //on ajoute l'entrée la plus grande à la suite
	unset($tableau[$plus_grand['id']]); //on supprime l'entrée qu'on vient d'ajouter
	$plus_grand = array('entree' => array($champ_a_ordonner => 0));
    }
    return $tab_trie; //on retourne le résultat
}

Voter pour cette fonction


Permet d'ordonner les entrées d'un tableau par ordre décroissant (pour un classement par exemple) selon un champ spécifié à l'appel de la fonction.

Commentaires sur la fonctions php

syndrael 26/07/2009 à 20:25

Et un ksort suivi d'une boucle pour faire un LOFI.. Last out, first In pour l'ordre inversé ?? ça fait pareil non ??

Garfield 27/07/2009 à 10:47

Lorsque je lis vos fonctions, j'ai l'impression d'être en orbite. Est-ce une plaisanterie ?

Bartimeus 27/07/2009 à 19:41

@syndrael Oui, je sais ;)
@Garfield... C'est quoi cette manie de rabaisser les gens sans argumenter...? La seule plaisanterie ici, c'est toi, qui n'as jamais dû participer à cette bibliothèque, et qui ne fais que spammer ce site parce que tu n'as rien d'autre à faire. Je te conseille d'aller sur un forum de flood, tu sais, les forums où les gens vont quand ils ne savent pas quoi faire, et qui remplissent leurs messages de smileys ou de LOL...