|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
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
Opisvoid 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.
Notatka: Ta funkcja przypisuje nowe klucze dla
elementów argumentu tablica.
Wszystkie istniejące klucze zostaną usunięte.
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");
foreach ($a as $key => $val) {
echo "$key: $value\n";
} ?> |
Powyższy przykład wyświetli:
|
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:
|
Patrz także: uasort(), uksort(),
sort(), asort(),
arsort(),ksort(),
natsort() i rsort().
|