Функцыя uasort

Функцыя uasort сартуе масіў па ўзрастанні элементаў, захоўваючы ключы асацыятыўнага масіва.

Функцыя uasort сартуе масіў па значэнні элементаў, выкарыстоўваючы для гэтага зваротную функцыю для вызначэння парадку элементаў у адсартаваным масіве. Функцыя змяняе сам масіў.

Функцыя параўнання павінна вяртаць цэлы лік, якое ў залежнасці ад выніку параўнання: менш, роўна або больш за нуль.

Функцыя змяняе сам масіў.

Сінтаксіс

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

Прыклад

Давайце адсартуем масіў па ўзрастанні элементаў:

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

Вынік выканання кода:

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

Прыклад

А цяпер адсартуем масіў па ўзрастанні колькасці сімвалаў у элементах масіва:

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

Вынік выканання кода:

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

Глядзіце таксама

  • функцыю sort,
    якая сартуе па ўзрастанні элементаў
  • функцыю rsort,
    якая сартуе па ўбыванні элементаў
  • функцыю ksort,
    якая сартуе па ўзрастанні ключоў
  • функцыю krsort,
    якая сартуе па ўбыванні ключоў
  • функцыю asort,
    якая сартуе па ўзрастанні элементаў з захаваннем ключоў
  • функцыю arsort,
    якая сартуе па ўбыванні элементаў з захаваннем ключоў
  • функцыю natsort,
    якая сартуе натуральным чынам
  • функцыю natcasesort,
    якая сартуе натуральным чынам без рэгістру
  • функцыю usort,
    якая сартуе па зваротнай функцыі
  • функцыю uksort,
    якая сартуе па зваротнай функцыі па ключах
  • функцыю uasort,
    якая сартуе па зваротнай функцыі з захаваннем ключоў
  • функцыю array_multisort,
    якая сартуе некалькі масіваў