usort funksiyası
usort funksiyası massivi
elementlərin dəyərinə görə sıralayır,
bunun üçün sıralanmış massivdə elementlərin
sırasını müəyyən etmək üçün callback istifadə edir.
Funksiya massivin özünü dəyişir.
Müqayisə funksiyası müqayisə nəticəsindən asılı olaraq: sıfırdan kiçik, bərabər ya da böyük olan tam ədəd qaytarmalıdır.
Sintaksis
usort(array &$array, callable $callback): bool
Nümunə
Gəlin massivi elementlərin artan sırasına görə sıralayaq:
<?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);
?>
Kodun icrasının nəticəsi:
[1, 2, 3, 4, 5]
Nümunə
İndi isə massivi elementlərin azalan sırasına görə sıralayaq:
<?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);
?>
Kodun icrasının nəticəsi:
[1, 2, 3, 4, 5]
Nümunə
İndi isə massivi elementlərdəki simvolların sayının artan sırasına görə sıralayaq:
<?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);
?>
Kodun icrasının nəticəsi:
[
'1',
'12',
'123',
'1234',
'12345',
]
Həmçinin bax
-
sortfunksiyası,
elementləri artan sıraya görə sıralayır -
rsortfunksiyası,
elementləri azalan sıraya görə sıralayır -
ksortfunksiyası,
açarları artan sıraya görə sıralayır -
krsortfunksiyası,
açarları azalan sıraya görə sıralayır -
asortfunksiyası,
elementləri artan sıraya görə açarları saxlayaraq sıralayır -
arsortfunksiyası,
elementləri azalan sıraya görə açarları saxlayaraq sıralayır -
natsortfunksiyası,
natural üsulla sıralayır -
natcasesortfunksiyası,
registrdan asılı olmadan natural üsulla sıralayır -
usortfunksiyası,
callback-ə görə sıralayır -
uksortfunksiyası,
callback-ə görə açarlarla sıralayır -
uasortfunksiyası,
callback-ə görə açarları saxlayaraq sıralayır -
array_multisortfunksiyası,
bir neçə massivi sıralayır