Funkce uasort

Funkce uasort řadí pole vzestupně podle prvků, přičemž zachovává klíče asociativního pole.

Funkce uasort řadí pole podle hodnot prvků, přičemž pro určení pořadí prvků v seřazeném poli používá callback funkci. Funkce mění samotné pole.

Porovnávací funkce musí vracet celé číslo, které v závislosti na výsledku porovnání: menší, rovno nebo větší než nula.

Funkce mění samotné pole.

Syntaxe

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

Příklad

Seřaďme pole vzestupně podle prvků:

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);
?>

Výsledek provedení kódu:

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

Příklad

A nyní seřaďme pole vzestupně podle počtu znaků v prvcích pole:

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);
?>

Výsledek provedení kódu:

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

Viz také

  • funkci sort,
    která řadí vzestupně podle prvků
  • funkci rsort,
    která řadí sestupně podle prvků
  • funkci ksort,
    která řadí vzestupně podle klíčů
  • funkci krsort,
    která řadí sestupně podle klíčů
  • funkci asort,
    která řadí vzestupně podle prvků se zachováním klíčů
  • funkci arsort,
    která řadí sestupně podle prvků se zachováním klíčů
  • funkci natsort,
    která řadí přirozeným způsobem
  • funkci natcasesort,
    která řadí přirozeným způsobem bez ohledu na velikost písmen
  • funkci usort,
    která řadí pomocí callbacku
  • funkci uksort,
    která řadí pomocí callbacku podle klíčů
  • funkci uasort,
    která řadí pomocí callbacku se zachováním klíčů
  • funkci array_multisort,
    která řadí více polí