Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Qual a melhor forma de ordenar um array em php?

A melhor forma de ordenar um array em PhP é utilizando o

usort($lances ...

como no exemplo do vídeo?

Essa forma é eficiente?

Sabe me dizer qual tipo de algorítimo ela usa para fazer a ordenação?

2 respostas

USORT usa um algoritmo chamado "QuickSort"

https://en.wikipedia.org/wiki/Quicksort
solução!

A função usort é recomendada quando queremos ordenar arrays mais complexos. Como por exemplo um array de referencias.

Para casos triviais, o indicado é a função sort mesmo.

A diferença entre a usort e sort é que a primeira aceita como parametro uma função de ordenação! Ou seja, a gente define qual é o nosso criterio de ordenação.

Essa função que a gente define, só precisa retornar -1 caso a comparação seja menor, 0 caso seja igual e 1 caso seja maior. Assim, o usort o algoritmo quicksort trocando as posições do nosso array dependendo do retorno da nossa função =)

Se nossa função retorna 0, ele não mexe nas posições, se a função retorna -1 ele troca o maior de posição com o menor. Se retorna 1 ele troca o menor de posição com o maior. Rodando o array todo, no fim, temos tudo ordenado de forma crescente =)

Qualquer duvida, compartilha com a gente!

Abraço e bons estudos =)