Rapide Advanced Adulte
 
 Web|Image|Shop|Video|News|Wmx|Mobile|Wiki|Ajouter ce moteur

     Manuel PHP     
Partager
 
 
Partager
Partager

 

Table :

.array change key case
.array chunk
.array combine
.array count values
.array diff assoc
.array diff key
.array diff uassoc
.array diff ukey
.array diff
.array fill keys
.array fill
.array filter
.array flip
.array intersect assoc
.array intersect key
.array intersect uassoc
.array intersect ukey
.array intersect
.array key exists
.array keys
.array map
.array merge recursive
.array merge
.array multisort
.array pad
.array pop
.array product
.array push
.array rand
.array reduce
.array reverse
.array search
.array shift
.array slice
.array splice
.array sum
.array udiff assoc
.array udiff uassoc
.array udiff
.array uintersect assoc
.array uintersect uassoc
.array uintersect
.array unique
.array unshift
.array values
.array walk recursive
.array walk
.array
.arsort
.asort
.compact
.count
.current
.each
.end
.extract
.in array
.key
.krsort
.ksort
.list
.natcasesort
.natsort
.next
.pos
.current()
.prev
.range
.reset
.rsort
.shuffle
.sizeof
.count()
.sort
.uasort
.uksort
.usort
 
   

  usort  


usort

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

usort -- Trie un tableau en utilisant une fonction de comparaison

Description

bool usort ( array &array, callback cmp_function )

usort() va trier le tableau array avec ses valeurs, en utilisant une fonction définie par l'utilisateur. Si un tableau doit être trié avec un critère complexe, il est préférable d'utiliser cette méthode.

La fonction de comparaison cmp_function doit retourner un entier, qui sera inférieur, égal ou supérieur à zéro suivant que le premier argument est considéré comme plus petit, égal ou plus grand que le second argument. Si les deux arguments sont égaux, leur ordre est indéfini.

Note : Si deux éléments sont égaux, au sens de la fonction cmp_function, leur ordre sera indéfini. Jusqu'en PHP 4.0.6, la fonction de tri leur conserverait leur ordre original, mais le nouvel algorithme introduit en PHP 4.1.0 fait que ce n'est plus le cas, car cela serait trop coûteux.

Note : Cette fonction assigne de nouvelles clés pour les éléments du paramètre array. Elle effacera toutes les clés existantes que vous aviez pû assigner, plutôt que de réordonner les clés.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemple 1. Exemple avec usort()

<?php
function compare($a, $b)
{
    if (
$a == $b) {
      return
0;
    }
    return (
$a > $b) ? -1 : 1;
}

$a = array (3, 2, 5, 6, 1);

usort ($a, "compare");

foreach (
$a as $key => $value) {
    echo
"$key: $value\n";
}
?>

L'exemple ci-dessus va afficher :

0: 6
1: 5
2: 3
3: 2
4: 1

Note : Évidemment dans ce cas trivial, rsort() serait plus approprié.

Exemple 2. Tri avec usort() sur un tableau multi-dimensionnel

<?php
function compare($a, $b)
{
    return
strcmp($a["fruit"], $b["fruit"]);
}

$fruits[0]["fruit"] = "citron";
$fruits[1]["fruit"] = "pommes";
$fruits[2]["fruit"] = "raisins";

usort($fruits, "compare");

while (list (
$key, $value) = each ($fruits)) {
    echo
"\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>

Lors du tri de tableau multi-dimensionnel, $a et $b contiennent des références sur le premier élément du tableau.

L'exemple ci-dessus va afficher :

$fruits[0]: raisins
$fruits[1]: pommes
$fruits[2]: citron

Exemple 3. Tri avec usort() sur un objet

<?php
class TestObj {
    var
$name;

    function
TestObj($name)
    {
        
$this->name = $name;
    }

    
/* Ceci est une fonction de comparaison statique */
    
function cmp_obj($a, $b)
    {
        
$al = strtolower($a->name);
        
$bl = strtolower($b->name);
        if (
$al == $bl) {
          return
0;
        }
        return (
$al > $bl) ? +1 : -1;
    }
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

uasort($a, array ("TestObj", "cmp_obj"));

foreach (
$a as $item) {
    echo
$item->name."\n";
}
?>

L'exemple ci-dessus va afficher :

b
c
d

Voir aussi uasort(), uksort(), sort(), asort(), arsort(), ksort(), natsort() et rsort().


    Annonces       
 

 Retour au chapitre Php

 

Top
 

Ajouter JungleKey.fr à votre Explorateur

 
 

About Us | © 2007 JungleKey




iBlack | Mobile | Wiki | Ajouter ce moteur
.