Функция uasort
Функция uasort массавни
элементларни ўсиш тартибида тартиблайди,
ассоциатив массавнинг калитларини сақлаб қолади.
Функция uasort массавни
элементларнинг қиймати боʻйича тартиблайди,
бунинг учун тартибланган массавдаги элементлар тартибини
аниқлаш учун коллбэк функциясидан фойдаланади.
Функция массавни ўзини ўзгартиради.
Солиштириш функцияси бутун сон қайтариши керак, у солиштириш натижасига кўра: нолдан кичик, тенг ёки катта бўлиши мумкин.
Функция массавни ўзини ўзгартиради.
Синтаксис
uasort(array &$array, int $flags = SORT_REGULAR): bool
Мисол
Келинг, массавни элементларнинг ўсиш тартибида тайёрлаймиз:
<?php
$arr = [
'b' => 1,
'e' => 3,
'c' => 2,
'a' => 5,
'd' => 4,
];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Кодни ишга тушириш натижаси:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
Мисол
Энди массавни элементлардаги белгилар сонини ўсиш тартибида тартиблаймиз:
<?php
$arr = [
'a' => '123',
'b' => '1',
'c' => '12345',
'd' => '12',
'e' => '1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
Кодни ишга тушириш натижаси:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
Шунингдек қаранг
-
sortфункцияси,
элементларни ўсиш тартибида тартиблайди -
rsortфункцияси,
элементларни камайиш тартибида тартиблайди -
ksortфункцияси,
калитларни ўсиш тартибида тартиблайди -
krsortфункцияси,
калитларни камайиш тартибида тартиблайди -
asortфункцияси,
элементларни ўсиш тартибида тартиблайди, калитларни сақлаб -
arsortфункцияси,
элементларни камайиш тартибида тартиблайди, калитларни сақлаб -
natsortфункцияси,
натурал усулда тартиблайди -
natcasesortфункцияси,
регистрани ҳисобга олмаган ҳолда натурал усулда тартиблайди -
usortфункцияси,
коллбэк орқали тартиблайди -
uksortфункцияси,
коллбэк орқали калитлар боʻйича тартиблайди -
uasortфункцияси,
коллбэк орқали тартиблайди, калитларни сақлаб -
array_multisortфункцияси,
бир нечта массавни тартиблайди