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функциясы,
бірнеше массивтерді сұрыптайды