Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CrazyLOL

Ordenar array multidimensional

Recommended Posts

Galera to com uma duvida boba..

Tenho o seguinte array

$arr['dados'][0]['distancia'] = 230;
$arr['dados'][0]['nome'] = Jose;

$arr['dados'][1]['distancia'] = 120;
$arr['dados'][1]['nome'] = Maria;

$arr['dados'][2]['distancia'] = 4230;
$arr['dados'][2]['nome'] = Felipe;


Na hora que faço a impressao sai nesta ordem, Jose, Maria e Felipe, gostaria de ordenar este meu array pela distancia, deveria ficar Maria, Jose, e Felipe.

 

A duvida está sendo nesta ordenação, eu vi a função sort() mas nela eu nao vi se existe a possibilidade de ordenar por um determinado coluna do array no meu caso iria ordenar pela distancia...

 

Alguem poderia dar um help nisso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala CrazyLOL beleza?

Utilize a função

 

http://php.net/manual/pt_BR/function.array-multisort.php

 

para fazer isso.

 

Exemplo:



$arr['dados'][0]['distancia'] = 230;
$arr['dados'][0]['nome'] = Jose;

$arr['dados'][1]['distancia'] = 120;
$arr['dados'][1]['nome'] = Maria;

$arr['dados'][2]['distancia'] = 4230;
$arr['dados'][2]['nome'] = Felipe;

foreach ($arr['dados'] as $user) {
	$distancias[] = $user['distancia'];
}

print_r($distancias);

array_multisort($distancias, SORT_ASC, $arr['dados']);

print_r($arr['dados']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.