АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
176 of 410 menu

Функцыя usort

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

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

Сінтаксіс

usort(array &$array, callable $callback): bool

Прыклад

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

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

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

[1, 2, 3, 4, 5]

Прыклад

А цяпер адсартуем масіў па спаданні элементаў:

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

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

[1, 2, 3, 4, 5]

Прыклад

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

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

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

[ '1', '12', '123', '1234', '12345', ]

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

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