Функција 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,
која сортира повеќе низи