Funkcija usort
Funkcija usort razvrsti polje
po vrednosti elementov, pri čemer uporabi
povratni klic za določitev vrstnega reda
elementov v razvrščenem polju.
Funkcija spremeni samo polje.
Funkcija za primerjavo mora vrniti celo število, ki je glede na rezultat primerjave: manjše, enako ali večje od nič.
Sintaksa
usort(array &$array, callable $callback): bool
Primer
Razvrstimo polje po naraščajočem vrstnem redu elementov:
<?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 izvajanja kode:
[1, 2, 3, 4, 5]
Primer
Zdaj pa razvrstimo polje po padajočem vrstnem redu elementov:
<?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 izvajanja kode:
[1, 2, 3, 4, 5]
Primer
Zdaj pa razvrstimo polje po naraščajočem številu znakov v elementih polja:
<?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 izvajanja kode:
[
'1',
'12',
'123',
'1234',
'12345',
]
Glejte tudi
-
funkcijo
sort,
ki razvrsti po naraščajočem vrstnem redu elementov -
funkcijo
rsort,
ki razvrsti po padajočem vrstnem redu elementov -
funkcijo
ksort,
ki razvrsti po naraščajočem vrstnem redu ključev -
funkcijo
krsort,
ki razvrsti po padajočem vrstnem redu ključev -
funkcijo
asort,
ki razvrsti po naraščajočem vrstnem redu elementov s ohranjanjem ključev -
funkcijo
arsort,
ki razvrsti po padajočem vrstnem redu elementov s ohranjanjem ključev -
funkcijo
natsort,
ki razvrsti na naraven način -
funkcijo
natcasesort,
ki razvrsti na naraven način brez upoštevanja velikosti črk -
funkcijo
usort,
ki razvrsti s pomočjo povratnega klica -
funkcijo
uksort,
ki razvrsti s pomočjo povratnega klica po ključih -
funkcijo
uasort,
ki razvrsti s pomočjo povratnega klica z ohranjanjem ključev -
funkcijo
array_multisort,
ki razvrsti več polj