ADS - GoldenWeb.it Directory "Premium" Links

Risanamento Edifici - Risparmio Energetico
Casaswiss è una società specializzata nel risanamento degli edifici.
Fabbrica Divani Chester - Boheme Salotti
Produzione Artigianale di divani Chesterfield classici senza tempo. I nostri eleganti divani Chesterfield sono realizzati a mano da esperti artigiani direttamente nella nostra fabbrica ad Altamura, il centro del Triangolo del Salotto. Acquista direttamente dalla Fabbrica e risparmia su divani e poltrone Chesterfield.
Bet365 bookmaker aams
Codice Bonus bet365: per te bonus benvenuto fino a 100. Scommetti sullo sport 2018! - si applicano T&C (gioca responsabile 18+) - registrati qui!
Ozonizzatore domestico Ozobox
L'ozonizzatore Ozobox porta il benessere e la freschezza dell'ozono in casa: Il primo elettrodomestico in grado di sanificare aria, acqua e casa in modo completamente naturale sfruttando le proprietà antisettiche dell'ozono! l'ozono possiede una potente carica antimicotica, in grado di eliminare il 99% dei batteri presenti e degli agenti inquinanti. Ozobox consente di trasformare l'ossigeno in ozono per sanificare in modo naturale l'acqua del rubinetto, l'aria, gli oggetti, gli alimenti

Submit Your Link...

PHP manual


usort

(PHP 4, PHP 5)

usortSort an array by values using a user-defined comparison function

Description

bool usort ( array &$array , callback $cmp_function )

This function will sort an array by its values using a user-supplied comparison function. If the array you wish to sort needs to be sorted by some non-trivial criteria, you should use this function.

Note:

If two members compare as equal, their order in the sorted array is undefined.

Note: This function assigns new keys to the elements in array. It will remove any existing keys that may have been assigned, rather than just reordering the keys.

Parameters

array

The input array.

cmp_function

The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Return Values

Returns TRUE on success or FALSE on failure.

Changelog

Version Description
4.1.0 A new sort algorithm was introduced. The cmp_function doesn't keep the original order for elements comparing as equal.

Examples

Example #1 usort() example

<?php
function cmp($a$b)
{
    if (
$a == $b) {
        return 
0;
    }
    return (
$a $b) ? -1;
}

$a = array(32561);

usort($a"cmp");

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

The above example will output:

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

Note:

Obviously in this trivial case the sort() function would be more appropriate.

Example #2 usort() example using multi-dimensional array

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

$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";

usort($fruits"cmp");

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

When sorting a multi-dimensional array, $a and $b contain references to the first index of the array.

The above example will output:

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

Example #3 usort() example using a member function of an object

<?php
class TestObj {
    var 
$name;

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

    
/* This is the static comparing function: */
    
static function cmp_obj($a$b)
    {
        
$al strtolower($a->name);
        
$bl strtolower($b->name);
        if (
$al == $bl) {
            return 
0;
        }
        return (
$al $bl) ? +: -1;
    }
}

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

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

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

The above example will output:

b
c
d

See Also