Ir para conteúdo

POWERED BY:

Arquivado

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

Good

Ordenar array

Recommended Posts

Preciso ordenar um array através de 3 valores, ex de array:

$array[0] = array(934, 2, 5, "Valor 1");
$array[1] = array(934, 3, 4, "Valor 2");
$array[2] = array(934, 5, 2, "Valor 3");
$array[3] = array(853, 6, 3, "Valor 4");
$array[4] = array(934, 3, 6, "Valor 5");
Se for ordenar com mysql era só fazer assim: ORDER BY pontos DESC, valor1 DESC, valor2 DESC

 

E no caso, tem que reordenar o array na ordem:

$array[2] = array(934, 5, 2, "Valor 3");
$array[4] = array(934, 3, 6, "Valor 5");
$array[1] = array(934, 3, 4, "Valor 2");
$array[0] = array(934, 2, 5, "Valor 1");
$array[3] = array(853, 6, 3, "Valor 4");

Veja que tem que ordenar na ordem 0,1,2.. E o valor 3 que é uma string não importa, é apenas para dar um nome.

 

É um ranking em array que estou fazendo, não há outra maneira a não ser esta.

 

obg

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

 

$array[0] = array(934, 2, 5, "Valor 1");

$array[1] = array(934, 3, 4, "Valor 2");

$array[2] = array(934, 5, 2, "Valor 3");

$array[3] = array(853, 6, 3, "Valor 4");

 

foreach ($array as $key => $row) {

$sort[0][$key] = $row[0];

$sort[1][$key] = $row[1];

$sort[2][$key] = $row[2];

}

array_multisort($sort[0], SORT_DESC, $sort[1], SORT_DESC, $sort[2], SORT_DESC, $array);

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.