Funkcja uasort

Funkcja uasort sortuje tablicę według rosnącej wartości elementów, zachowując klucze tablicy asocjacyjnej.

Funkcja uasort sortuje tablicę według wartości elementów, używając do tego callbacka do określenia kolejności elementów w posortowanej tablicy. Funkcja modyfikuje samą tablicę.

Funkcja porównująca powinna zwracać liczbę całkowitą, która w zależności od wyniku porównania: mniejszą, równą lub większą od zera.

Funkcja modyfikuje samą tablicę.

Składnia

phpuasort(array &$array, int $flags = SORT_REGULAR): bool

Przykład

Posortujmy tablicę według rosnącej wartości elementów:

php<?php
  $arr = [
    'b' => 1,
    'e' => 3,
    'c' => 2,
    'a' => 5,
    'd' => 4,
  ];
  
  function func($a, $b)
  {
    if ($a === $b) {
      return 0;
    } else if ($a < $b) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uasort($arr, 'func');
  var_dump($arr);
?>

Wynik wykonania kodu:

php[
  'b' => 1,
  'c' => 2,
  'e' => 3,
  'd' => 4,
  'a' => 5,
]

Przykład

A teraz posortujmy tablicę według rosnącej liczby znaków w elementach tablicy:

php<?php
  $arr = [
    'a' => '123',
    'b' => '1',
    'c' => '12345',
    'd' => '12',
    'e' => '1234',
  ];
  
  function func($a, $b)
  {
    if (strlen($a) === strlen($b)) {
      return 0;
    } else if (strlen($a) < strlen($b)) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uasort($arr, 'func');
  var_dump($arr);
?>

Wynik wykonania kodu:

php[
  'b' => '1',
  'd' => '12',
  'a' => '123',
  'e' => '1234',
  'c' => '12345',
]

Zobacz też

  • funkcję sort,
    która sortuje według rosnącej wartości elementów
  • funkcję rsort,
    która sortuje według malejącej wartości elementów
  • funkcję ksort,
    która sortuje według rosnącej wartości kluczy
  • funkcję krsort,
    która sortuje według malejącej wartości kluczy
  • funkcję asort,
    która sortuje według rosnącej wartości elementów z zachowaniem kluczy
  • funkcję arsort,
    która sortuje według malejącej wartości elementów z zachowaniem kluczy
  • funkcję natsort,
    która sortuje w sposób naturalny
  • funkcję natcasesort,
    która sortuje w sposób naturalny bez uwzględniania wielkości liter
  • funkcję usort,
    która sortuje za pomocą callbacka
  • funkcję uksort,
    która sortuje za pomocą callbacka po kluczach
  • funkcję uasort,
    która sortuje za pomocą callbacka z zachowaniem kluczy
  • funkcję array_multisort,
    która sortuje wiele tablic