Funktsioon uasort

Funktsioon uasort sorteerib massiivi elementide kasvavas järjekorras, säilitades assotsiatiivse massiivi võtmed.

Funktsioon uasort sorteerib massiivi elementide väärtuse järgi, kasutades selleks callback-funktsiooni elementide järjestuse määramiseks sorteeritud massiivis. Funktsioon muudab massiivi ise.

Võrdlusfunktsioon peab tagastama täisarvu, mis sõltuvalt võrdlustulemusest: väiksem, võrdne või suurem kui null.

Funktsioon muudab massiivi ise.

Süntaks

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

Näide

Sorteerime massiivi elementide kasvavas järjekorras:

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

Koodi täitmise tulemus:

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

Näide

Nüüd sorteerime massiivi elementide sümbolite arvu kasvavas järjekorras:

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

Koodi täitmise tulemus:

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

Vaata ka

  • funktsiooni sort,
    mis sorteerib elementide kasvavas järjekorras
  • funktsiooni rsort,
    mis sorteerib elementide kahanevas järjekorras
  • funktsiooni ksort,
    mis sorteerib võtmete kasvavas järjekorras
  • funktsiooni krsort,
    mis sorteerib võtmete kahanevas järjekorras
  • funktsiooni asort,
    mis sorteerib elementide kasvavas järjekorras võtmeid säilitades
  • funktsiooni arsort,
    mis sorteerib elementide kahanevas järjekorras võtmeid säilitades
  • funktsiooni natsort,
    mis sorteerib looduslikul viisil
  • funktsiooni natcasesort,
    mis sorteerib looduslikul viisil tõstutundlikkuseta
  • funktsiooni usort,
    mis sorteerib callback-funktsiooni abil
  • funktsiooni uksort,
    mis sorteerib callback-funktsiooni abil võtmete järgi
  • funktsiooni uasort,
    mis sorteerib callback-funktsiooni abil võtmeid säilitades
  • funktsiooni array_multisort,
    mis sorteerib mitu massiivi