uksort w PHP
Funkcja uksort w PHP umożliwia zastosowanie własnych kryteriów sortowania kluczy tablicy asocjacyjnej bez sortowania elementów tablicy.
Składnia
uksort(array $tablica, $funkcja_sortujaca):bool
Parametry
Parametr | Opis |
$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ć:
|
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>";
}
uksort($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 uksort automatycznie zastosuje to kryterium sortowania dla wszystkich kluczy tablicy (nie wartości).
© medianauka.pl, 2021-11-23, A-4275
Data aktualizacji artykułu: 2024-06-29