usort

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

usort --  Sortuje tablicę według wartości korzystając ze zdefiniowanej przez użytkownika funkcji porównującej

Opis

void usort ( array &tablica, callback funkcja_porównująca )

Funkcja ta posortuje tablicę według jej wartości korzystając z podanej przez użytkownika funkcji porównującej. Jeśli chcesz posortować tablicę według skomplikowanych kryteriów, to powinieneś użyć tej funkcji.

Funkcja porównująca musi zwracać liczbę całkowitą mniejszą, równą lub większą od zera jeśli pierwszy argument jest odpowiednio mniejszy, równy lub większy niż drugi.

Notatka: Jeśli wynikiem porównania dwóch elementów tablicy jest równość, ich kolejność w posortowanej tablicy pozostaje niezdefiniowana. Od PHP 4.0.6 funkcje zdefiniowane przez użytkownika mogły utrzymywać początkową kolejność tych elementów, lecz nowy algorytm sortowania wprowadzony w PHP 4.1.0 czyni to uniemożliwym i nie ma wydajnego sposobu na rozwiązanie tego problemu.

Zwraca TRUE w przypadku sukcesu, FALSE w przypadku porażki.

Przykład 1. Przykład użycia usort()

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

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

usort($a, "cmp");

while (list(
$key, $value) = each($a)) {
    echo
"$key: $value\n";
}
?>

Powyższy przykład wyświetli:

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

Notatka: Oczywiście w tym prostym przykładzie lepiej jest skorzystać z funkcji sort().

Przykład 2. Przykład użycia usort() do sortowania wielowymiarowych tablic

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

$owoce[0]["owoc"] = "cytryny";
$owoce[1]["owoc"] = "jabłka";
$owoce[2]["owoc"] = "winogrona";

usort($owoce, "cmp");

while (list(
$key, $value) = each($owoce)) {
    echo
"\$owoce[$key]: " . $value["owoc"] . "\n";
}

Sortując tablicę wielowymiarową, $a i $b zawierają referencję do pierwszego indeksu tablicy.

Powyższy przykład wyświetli:

$owoce[0]: cytryny
$owoce[1]: jabłka
$owoce[2]: winogrona

Przykład 3. Przykład użycia usort() używając funkcji składowej obiektu

<?php
class TestObj {
    var
$name;
     
    function
TestObj($name)
    {
        
$this->name = $name;
    }
    
    
/* Statyczna funkcja porównująca */
    
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) {
    print
$item->name . "\n";
}

Powyższy przykład wyświetli:

b
c
d

Patrz także: uasort(), uksort(), sort(), asort(), arsort(),ksort(), natsort() i rsort().



Język PHP to dzisiaj powszechnie przyjęty standard, podstawa tworzenia dynamicznych stron WWW, opartych na bazach danych.

PHP to język skryptowy. Znaczy to, że jest to język nie kompilowalny. Program jest wykonywany przez interpreter na podstawie jego kodu źródłowego. Język PHP to element technologii internetowej SERVER-SIDE. Znaczy to, że kod języka jest wykonywany od strony serwera (na serwerze).

W jakim celu używac PHP? Po co to komu?

Załóżmy, że potrzebujemy takiej strony internetowej, która wyświetli zawsze bieżącą datę. Dzięki technologii PHP, datę i godzinę odczytywać można z miejsca gdzie wykonuje się skrypt, np. gdy serwer znajduje się w USA a my w Polsce to widoczna jest różnica w czasie który zostanie wyświetlony.

hosting prace licencjackie Oświetlenie dla dzieci Sklep sportowy Marionex bielsko sitodrukwizy do rosji, ubezpieczenia na życie, usuwanie zmarszczek, kaszuby domki, Tynki, kotły, Domy projekty, fajerwerki, skrzynki do gazu