Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal, tudo bem ?
Preciso colocar em ordem crescente esse array pelo campo dist_value, podem me ajudar ?
Veja o Código:
$lista = array();
// REALIZO A LISTAGEM
foreach ($listagem as $key) {
// FAZ A INCLUSÃO DOS VALORES NO ARRAY
array_push($lista,
array(
'id' =>$key['id'],
'dist_value' =>$key['dist_value'],
'dist_text' =>$key['dist_text'],
'time_value' =>$key['time_value'],
'time_text' =>$key['time_text']
)
);
}
return $lista;
Ele retorna o seguinte JSON:
[
{
"id": 1,
"dist_value": 4447,
"dist_text": "4,4 km",
"time_value": 894,
"time_text": "15 minutos"
},
{
"id": 23,
"dist_value": 14222,
"dist_text": "14,2 km",
"time_value": 1789,
"time_text": "30 minutos"
}
]
Como faço para ordenar em ordem crescente pelo campo dist_value?
Muito obrigado mesmo!
Bom dia!
As funções sort() do PHP são tudo que você precisa... Sendo mais específico, a usort, já que você quer especificar uma chave do array para ser o pivô da ordenação.
Veja: http://php.net/manual/pt_BR/function.usort.php
Agora veja o exemplo e adapte para as suas necessidades:
<?php
$listagem[] = array(
$listagem[] = array(
$listagem[] = array(
usort(
$listagem,
Exemplo de retorno:
( [0] => Array ( ( (Abraço! :lol:
EDIT: Só complementando... se o campo ordenado possuir letras e números, o ideal é a function utilizando o strnatcmp(). Não é o seu caso, mas pode ajudar alguém no futuro: http://php.net/manual/pt_BR/function.strnatcmp.php