Como ordenar um array por campo em PHP
Aprenda a ordenar arrays associativos em PHP usando usort(), ordem crescente, decrescente e múltiplos campos.
Solução com usort()
$usuarios = [
['nome' => 'Daniel', 'idade' => 35],
['nome' => 'Ana', 'idade' => 28],
['nome' => 'Carlos', 'idade' => 41],
];
usort($usuarios, function ($a, $b) {
return $a['nome'] <=> $b['nome'];
});
O operador <=> retorna o valor esperado pela função de comparação.
Ordem decrescente
usort($usuarios, function ($a, $b) {
return $b['nome'] <=> $a['nome'];
});
Ordenar por múltiplos campos
usort($usuarios, function ($a, $b) {
$nome = $a['nome'] <=> $b['nome'];
return $nome !== 0
? $nome
: ($a['idade'] <=> $b['idade']);
});
Cuidados
Dica: valide a existência das chaves quando os dados vierem de APIs, arquivos ou outras fontes externas.
Assuntos:arrayusortordenação