Funkcia uasort

Funkcia uasort triedi pole podľa vzostupnej poradia prvkov, pričom zachováva kľúče asociatívneho poľa.

Funkcia uasort triedi pole podľa hodnoty prvkov, pričom na určenie poradia prvkov v zotriedenom poli používa callback. Funkcia modifikuje samotné pole.

Porovnávacia funkcia musí vrátiť celé číslo, ktoré v závislosti od výsledku porovnania: menšie, rovné alebo väčšie ako nula.

Funkcia modifikuje samotné pole.

Syntax

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

Príklad

Zotriedme pole vzostupne podľa prvkov:

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ýsledok vykonania kódu:

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

Príklad

A teraz zotriedme pole vzostupne podľa počtu znakov v prvkoch poľa:

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ýsledok vykonania kódu:

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

Pozri tiež

  • funkciu sort,
    ktorá triedi vzostupne podľa prvkov
  • funkciu rsort,
    ktorá triedi zostupne podľa prvkov
  • funkciu ksort,
    ktorá triedi vzostupne podľa kľúčov
  • funkciu krsort,
    ktorá triedi zostupne podľa kľúčov
  • funkciu asort,
    ktorá triedi vzostupne podľa prvkov so zachovaním kľúčov
  • funkciu arsort,
    ktorá triedi zostupne podľa prvkov so zachovaním kľúčov
  • funkciu natsort,
    ktorá triedi prirodzeným spôsobom
  • funkciu natcasesort,
    ktorá triedi prirodzeným spôsobom bez ohľadu na veľkosť písmen
  • funkciu usort,
    ktorá triedi pomocou callbacku
  • funkciu uksort,
    ktorá triedi pomocou callbacku podľa kľúčov
  • funkciu uasort,
    ktorá triedi pomocou callbacku so zachovaním kľúčov
  • funkciu array_multisort,
    ktorá triedi viacero polí