usort funksiýasy
usort funksiýasy massiw
elementleriň bahasy boýunça tertipleýär,
tertiplenen massiwdäki elementleriň tertibini
kesgitlemek üçin kolbek ulanýar.
Funksiýa massiwiň özüni üýtgedýär.
Salyşdyrma funksiýasy salyşdyryş netijesine baglylykda: noldan kiçi, deň ýa-da uly boljak bitin san gaýtarmaly.
Sintaksis
usort(array &$array, callable $callback): bool
Mysal
Geliň, massiw elementlerini köpelýän tertipde tertipleýälim:
<?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);
?>
Kody ýerine ýetirip netijesi:
[1, 2, 3, 4, 5]
Mysal
Indi bolsa, massiw elementlerini peselýän tertipde tertipleýälim:
<?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);
?>
Kody ýerine ýetirip netijesi:
[5, 4, 3, 2, 1]
Mysal
Indi bolsa, massiw elementlerini massiw elementlerindäki nyşanlaryň sany boýunça köpelýän tertipde tertipleýälim:
<?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);
?>
Kody ýerine ýetirip netijesi:
[
'1',
'12',
'123',
'1234',
'12345',
]
Şeýle-de görüň
-
sortfunksiýasyny,
elementleri köpelýän tertipde tertipleýän -
rsortfunksiýasyny,
elementleri peselýän tertipde tertipleýän -
ksortfunksiýasyny,
açarlary köpelýän tertipde tertipleýän -
krsortfunksiýasyny,
açarlary peselýän tertipde tertipleýän -
asortfunksiýasyny,
açarlary saklap, elementleri köpelýän tertipde tertipleýän -
arsortfunksiýasyny,
açarlary saklap, elementleri peselýän tertipde tertipleýän -
natsortfunksiýasyny,
tebigy usul bilen tertipleýän -
natcasesortfunksiýasyny,
registri hasaba almazdan, tebigy usul bilen tertipleýän -
usortfunksiýasyny,
kolbek boýunça tertipleýän -
uksortfunksiýasyny,
açarlar boýunça kolbek arkaly tertipleýän -
uasortfunksiýasyny,
açarlary saklap, kolbek arkaly tertipleýän -
array_multisortfunksiýasyny,
birnäçe massiwleri tertipleýän