Функција 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);
?>
Резултат извршавања кода:
[5, 4, 3, 2, 1]
Пример
А сада да сортирамо низ по растућем броју карактера у елементима низа:
<?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,
која сортира више низова