Funktio usort
Funktio usort lajittelee taulukon
alkioiden arvojen mukaan käyttäen tähän
callback-funktiota määrittämään alkioiden
järjestyksen lajitellussa taulukossa.
Funktio muuttaa itse taulukon.
Vertailufunktion tulee palauttaa kokonaisluku, joka riippuen vertailun tuloksesta: pienempi kuin nolla, yhtä suuri kuin nolla tai suurempi kuin nolla.
Syntaksi
usort(array &$array, callable $callback): bool
Esimerkki
Lajitellaan taulukko alkioiden nousevaan järjestykseen:
<?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);
?>
Koodin suorituksen tulos:
[1, 2, 3, 4, 5]
Esimerkki
Lajitellaan nyt taulukko alkioiden laskevaan järjestykseen:
<?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);
?>
Koodin suorituksen tulos:
[1, 2, 3, 4, 5]
Esimerkki
Lajitellaan nyt taulukko alkioiden merkkien määrän nousevaan järjestykseen:
<?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);
?>
Koodin suorituksen tulos:
[
'1',
'12',
'123',
'1234',
'12345',
]
Katso myös
-
funktion
sort,
joka lajittelee alkioiden nousevaan järjestykseen -
funktion
rsort,
joka lajittelee alkioiden laskevaan järjestykseen -
funktion
ksort,
joka lajittelee avainten nousevaan järjestykseen -
funktion
krsort,
joka lajittelee avainten laskevaan järjestykseen -
funktion
asort,
joka lajittelee alkioiden nousevaan järjestykseen säilyttäen avaimet -
funktion
arsort,
joka lajittelee alkioiden laskevaan järjestykseen säilyttäen avaimet -
funktion
natsort,
joka lajittelee luonnollisella tavalla -
funktion
natcasesort,
joka lajittelee luonnollisella tavalla kirjainkoosta riippumatta -
funktion
usort,
joka lajittelee callback-funktion perusteella -
funktion
uksort,
joka lajittelee callback-funktion perusteella avainten mukaan -
funktion
uasort,
joka lajittelee callback-funktion perusteella säilyttäen avaimet -
funktion
array_multisort,
joka lajittelee useita taulukoita