usort w PHP

Funkcja usort w PHP umożliwia zastosowanie własnych kryteriów sortowania elementów tablicy indeksowanej numerycznie.

Składnia

usort(array $tablica, $funkcja_sortujaca):bool

Parametry

ParametrOpis
$tablica Nazwa tablicy indeksowanej numerycznie (nie asocjacyjnej), której elementy mają być posortowane.
$funkcja_sortujaca

Nazwa funkcji sortującej, która porównuje dwa elementy według kryterium określonym przez programistę. Nasza funkcja sortująca musi mieć na wejściu dwa elementy (argumenty). Funkcja ta powinna zwrócić:

  • 0 - w przypadku gdy dwa argumenty są sobie równe;
  • wartość ujemną, gdy pierwszy argument jest mniejszy od drugiego;
  • wartość dodatnią, gdy pierwszy argument jest większy od drugiego;

 

Przykład 1

<?php
function porownaj($a, $b)
{
if ($a == $b) {
return 0;
}
if ($a < $b) {
return 1;
}
else
{
return -1;
}
}
$tablica = array(1, -22, 22, 3, 44, 234);
echo 'Dana jest tablica:<br>';
foreach ($tablica as $val) {
echo "{$val}, ";
}
usort($tablica, "porownaj");
echo '<br>Posortowana tablica w porządku malejącym z użyciem funkcji usort:<br>';
foreach ($tablica as $val) {
echo "{$val}, ";
} ?>

Jak działa powyższy kod? Najpierw definiujemy funkcję sortującą, która posiada dwa argumenty. Jeżeli oba elementy są sobie równe, to funkcja zwraca wartość zero. Jeżeli pierwszy argument jest większy od drugiego, funkcja zwraca 1, w przeciwnym przypadku wartość -1 (ujemną).

Funkcja usort automatycznie zastosuje to kryterium sortowania dla wszystkich elementów tablicy.





© medianauka.pl, 2021-11-23, A-4273



©® Media Nauka 2008-2023 r.