Funkcija usort
Funkcija usort sortira niz
po vrednosti elemenata, koristeći za
to kolbek za određivanje redosleda
elemenata u sortiranom nizu.
Funkcija menja sam niz.
Funkcija za poređenje treba da vrati ceo broj, koji u zavisnosti od rezultata poređenja: manje, jednako ili veće od nule.
Sintaksa
usort(array &$array, callable $callback): bool
Primer
Hajde da sortiramo niz rastuće po elementima:
<?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);
?>
Rezultat izvršavanja koda:
[1, 2, 3, 4, 5]
Primer
A sada sortirajmo niz opadajuće po elementima:
<?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);
?>
Rezultat izvršavanja koda:
[1, 2, 3, 4, 5]
Primer
A sada sortirajmo niz rastuće po broju karaktera u elementima niza:
<?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);
?>
Rezultat izvršavanja koda:
[
'1',
'12',
'123',
'1234',
'12345',
]
Pogledajte takođe
-
funkciju
sort,
koja sortira rastuće po elementima -
funkciju
rsort,
koja sortira opadajuće po elementima -
funkciju
ksort,
koja sortira rastuće po ključevima -
funkciju
krsort,
koja sortira opadajuće po ključevima -
funkciju
asort,
koja sortira rastuće po elementima sa čuvanjem ključeva -
funkciju
arsort,
koja sortira opadajuće po elementima sa čuvanjem ključeva -
funkciju
natsort,
koja sortira prirodnim redosledom -
funkciju
natcasesort,
koja sortira prirodnim redosledom bez obzira na veličinu slova -
funkciju
usort,
koja sortira preko kolbeka -
funkciju
uksort,
koja sortira preko kolbeka po ključevima -
funkciju
uasort,
koja sortira preko kolbeka sa čuvanjem ključeva -
funkciju
array_multisort,
koja sortira više nizova