usort függvény
A usort függvény egy tömböt rendez
az elemek értéke szerint, ehhez egy callback
függvényt használ az elemek sorrendjének
meghatározásához a rendezett tömbben.
A függvény magát a tömböt módosítja.
Az összehasonlító függvénynek egy egész számot kell visszaadnia, amely az összehasonlítás eredményétől függően: nullánál kisebb, egyenlő vagy nagyobb.
Szintaxis
usort(array &$array, callable $callback): bool
Példa
Rendezzük a tömböt növekvő sorrendbe az elemek szerint:
<?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);
?>
A kód végrehajtásának eredménye:
[1, 2, 3, 4, 5]
Példa
Most pedig rendezzük a tömböt csökkenő sorrendbe az elemek szerint:
<?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);
?>
A kód végrehajtásának eredménye:
[1, 2, 3, 4, 5]
Példa
Most pedig rendezzük a tömböt növekvő sorrendbe a karakterek száma alapján a tömb elemeiben:
<?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);
?>
A kód végrehajtásának eredménye:
[
'1',
'12',
'123',
'1234',
'12345',
]
Lásd még
-
a
sortfüggvényt,
amely növekvő sorrendbe rendezi az elemek szerint -
a
rsortfüggvényt,
amely csökkenő sorrendbe rendezi az elemek szerint -
a
ksortfüggvényt,
amely növekvő sorrendbe rendezi a kulcsok szerint -
a
krsortfüggvényt,
amely csökkenő sorrendbe rendezi a kulcsok szerint -
a
asortfüggvényt,
amely növekvő sorrendbe rendezi az elemek szerint kulcsok megtartásával -
a
arsortfüggvényt,
amely csökkenő sorrendbe rendezi az elemek szerint kulcsok megtartásával -
a
natsortfüggvényt,
amely természetes módon rendezi -
a
natcasesortfüggvényt,
amely természetes módon rendezi kis- és nagybetűk megkülönböztetése nélkül -
a
usortfüggvényt,
amely callback alapján rendezi -
a
uksortfüggvényt,
amely callback alapján rendezi a kulcsok szerint -
a
uasortfüggvényt,
amely callback alapján rendezi kulcsok megtartásával -
a
array_multisortfüggvényt,
amely több tömböt rendez