usort funktsiyasi
usort funktsiyasi massivni
elementlar qiymati bo‘yicha saralaydi, buning
uchun saralangan massivdagi elementlar tartibini
aniqlash uchun kallbekdan foydalanadi.
Funktsiya massivning o‘zini o‘zgartiradi.
Taqqoslash funktsiyasi butun son qaytarishi kerak, bu taqqoslash natijasiga qarab: noldan kichik, teng yoki katta bo‘lishi mumkin.
Sintaksis
usort(array &$array, callable $callback): bool
Misol
Keling, massivni elementlari o‘sish tartibida saralaymiz:
<?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);
?>
Kodni bajarish natijasi:
[1, 2, 3, 4, 5]
Misol
Endi esa massivni elementlari kamayish tartibida saralaymiz:
<?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);
?>
Kodni bajarish natijasi:
[1, 2, 3, 4, 5]
Misol
Endi esa massivni elementlaridagi belgilar soni o‘sish tartibida saralaymiz:
<?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);
?>
Kodni bajarish natijasi:
[
'1',
'12',
'123',
'1234',
'12345',
]
Shuningdek qarang
-
sortfunktsiyasi,
elementlar o‘sish tartibida saralaydi -
rsortfunktsiyasi,
elementlar kamayish tartibida saralaydi -
ksortfunktsiyasi,
kalitlar o‘sish tartibida saralaydi -
krsortfunktsiyasi,
kalitlar kamayish tartibida saralaydi -
asortfunktsiyasi,
elementlar o‘sish tartibida saralaydi, kalitlarni saqlab qolgan holda -
arsortfunktsiyasi,
elementlar kamayish tartibida saralaydi, kalitlarni saqlab qolgan holda -
natsortfunktsiyasi,
natural usulda saralaydi -
natcasesortfunktsiyasi,
registrsiz natural usulda saralaydi -
usortfunktsiyasi,
kallbek orqali saralaydi -
uksortfunktsiyasi,
kallbek orqali kalitlar bo‘yicha saralaydi -
uasortfunktsiyasi,
kallbek orqali saralaydi, kalitlarni saqlab qolgan holda -
array_multisortfunktsiyasi,
bir nechta massivlarni saralaydi