Funzione usort
La funzione usort ordina un array
per valore degli elementi, utilizzando a questo
scopo una callback per determinare l'ordine
degli elementi nell'array ordinato.
La funzione modifica l'array stesso.
La funzione di confronto deve restituire un numero intero, che in base al risultato del confronto: minore, uguale o maggiore di zero.
Sintassi
usort(array &$array, callable $callback): bool
Esempio
Ordiniamo un array in ordine crescente degli elementi:
<?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);
?>
Risultato dell'esecuzione del codice:
[1, 2, 3, 4, 5]
Esempio
E ora ordiniamo un array in ordine decrescente degli elementi:
<?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);
?>
Risultato dell'esecuzione del codice:
[1, 2, 3, 4, 5]
Esempio
E ora ordiniamo un array in ordine crescente del numero di caratteri negli elementi dell'array:
<?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);
?>
Risultato dell'esecuzione del codice:
[
'1',
'12',
'123',
'1234',
'12345',
]
Vedi anche
-
la funzione
sort,
che ordina in ordine crescente degli elementi -
la funzione
rsort,
che ordina in ordine decrescente degli elementi -
la funzione
ksort,
che ordina in ordine crescente delle chiavi -
la funzione
krsort,
che ordina in ordine decrescente delle chiavi -
la funzione
asort,
che ordina in ordine crescente degli elementi preservando le chiavi -
la funzione
arsort,
che ordina in ordine decrescente degli elementi preservando le chiavi -
la funzione
natsort,
che ordina in modo naturale -
la funzione
natcasesort,
che ordina in modo naturale senza distinzione tra maiuscole e minuscole -
la funzione
usort,
che ordina tramite callback -
la funzione
uksort,
che ordina tramite callback per le chiavi -
la funzione
uasort,
che ordina tramite callback preservando le chiavi -
la funzione
array_multisort,
che ordina più array