uasort w PHP

Funkcja uasort w PHP umożliwia zastosowanie własnych kryteriów sortowania elementów tablicy asocjacyjnej bez sortowania nazw kluczy.

Składnia

uasort(array $tablica, $funkcja_sortujaca):bool

Parametry

ParametrOpis
$tablica Nazwa tablicy 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('a'=> -11, 'b' => 22, 'c' => 7, 'd' => 0);
echo 'Dana jest tablica:<br>';
foreach ($tablica as $key => $val) {
echo "{$key} - {$val}<br>";
}
uasort($tablica, "porownaj");
echo '<br>Posortowana tablica w porządku malejącym z użyciem funkcji usort:<br>';
foreach ($tablica as $key => $val) {
echo "{$key} - {$val}<br>";
} ?>

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 uasort automatycznie zastosuje to kryterium sortowania dla wszystkich elementów tablicy (nie kluczy).





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



©® Media Nauka 2008-2023 r.