ფუნქცია 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,
რომელიც ახდენს რამდენიმე მასივის სორტირებას