logo

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

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>";
}
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, ART-4275





Polecamy w naszym sklepie

Badania jako podstawa projektowania User Experience
Kolorowe skarpetki urodzinowe
Kolorowe skarpetki - football piłka nożna
50 idei, które powinieneś znać - Nauki ścisłe
kolorowe skarpetki góra lodowa
Niektóre treści nie są dostosowane do Twojego profilu. Jeżeli jesteś pełnoletni możesz wyrazić zgodę na przetwarzanie swoich danych osobowych. W ten sposób będziesz miał także wpływ na rozwój naszego serwisu.
© ® Media Nauka 2008-2022 r.