usort ֆունկցիա
usort ֆունկցիան դասավորում է զանգված
ըստ էլեմենտների արժեքների, օգտագործելով դրա համար
կոլբեք՝ դասավորված զանգվածում էլեմենտների հերթականությունը
որոշելու համար:
Ֆունկցիան փոխում է հենց զանգվածը:
Համեմատման ֆունկցիան պետք է վերադարձնի ամբողջ թիվ, որը կախված համեմատության արդյունքից՝ փոքր է, հավասար կամ մեծ է զրոյից:
Սինտաքս
usort(array &$array, callable $callback): bool
Օրինակ
Եկեք դասավորենք զանգվածը ըստ աճման էլեմենտների:
<?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);
?>
Կոդի կատարման արդյունք:
[1, 2, 3, 4, 5]
Օրինակ
Իսկ հիմա դասավորենք զանգվածը ըստ նվազման էլեմենտների:
<?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);
?>
Կոդի կատարման արդյունք:
[1, 2, 3, 4, 5]
Օրինակ
Իսկ հիմա դասավորենք զանգվածը ըստ աճման նիշերի քանակի զանգվածի էլեմենտներում:
<?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);
?>
Կոդի կատարման արդյունք:
[
'1',
'12',
'123',
'1234',
'12345',
]
Տես նաև
-
sortֆունկցիան,
որը դասավորում է ըստ աճման էլեմենտների -
rsortֆունկցիան,
որը դասավորում է ըստ նվազման էլեմենտների -
ksortֆունկցիան,
որը դասավորում է ըստ աճման բանալիների -
krsortֆունկցիան,
որը դասավորում է ըստ նվազման բանալիների -
asortֆունկցիան,
որը դասավորում է ըստ աճման էլեմենտների՝ պահպանելով բանալիները -
arsortֆունկցիան,
որը դասավորում է ըստ նվազման էլեմենտների՝ պահպանելով բանալիները -
natsortֆունկցիան,
որը դասավորում է բնական կերպով -
natcasesortֆունկցիան,
որը դասավորում է բնական կերպով՝ առանց ռեգիստրի -
usortֆունկցիան,
որը դասավորում է ըստ կոլբեքի -
uksortֆունկցիան,
որը դասավորում է ըստ կոլբեքի՝ ըստ բանալիների -
uasortֆունկցիան,
որը դասավորում է ըստ կոլբեքի՝ պահպանելով բանալիները -
array_multisortֆունկցիան,
որը դասավորում է մի քանի զանգվածներ