A classificação de array PHP é, na verdade, uma classificação de arrays PHP. Neste artigo, ela está classificando o conjunto de resultados da consulta ao banco de dados. Às vezes, os resultados da consulta ao banco de dados não podem ser usados diretamente, como os resultados obtidos usando a instrução in no mysql, portanto, os resultados precisam ser classificados de alguma forma. Neste momento, você precisa classificar o array PHP. Para classificar os resultados do banco de dados, consulte o exemplo a seguir:
Neste exemplo, cada célula na matriz de dados representa uma linha em uma tabela. Esta é uma maneira típica de os bancos de dados armazenarem dados de array.
Os dados do exemplo são os seguintes:
volume | edição
-------+--------
67 |
86 |
85 |
98 |
86 |
67 | 7Os
dados são todos armazenados em uma matriz chamada data. Geralmente, esse é o resultado obtido do banco de dados por meio de um loop, como mysql_fetch_assoc() (na verdade, você pode pensar nesta função como a mesma função mysql_fetch_assoc(). Para diferenças específicas, você pode ler a diferença nas chaves em o manual do PHP).
$dados[] = array('volume' => 67, 'edição' => 2);
$dados[] = array('volume' => 86, 'edição' => 1);
$dados[] = array('volume' => 85, 'edição' => 6);
$dados[] = array('volume' => 98, 'edição' => 2);
$dados[] = array('volume' => 86, 'edição' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
Neste exemplo, o volume será classificado em ordem decrescente e a edição será classificada em ordem crescente.
Agora você tem um array com linhas, mas array_multisort() requer um array com colunas, então use o código a seguir para obter as colunas e depois classificá-las.
// Obtém a lista de colunas
foreach ($dados como $chave => $linha) {
$volume[$key] = $row['volume'];
$edição[$key] = $row['edição'];
}
//Organiza os dados em ordem decrescente de acordo com o volume e em ordem crescente de acordo com a edição
// Use $data como último parâmetro, classifique por chave comum
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
A coleta de dados agora está classificada e o resultado é o seguinte:
volume | edição
-------+--------
98 |
86 |
86 |
85 |
67 |
67 | 7
Na verdade, existem muitos métodos que podem ser usados ao classificar, como arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort que vem com o array array do PHP .(), usort(), array_multisort() e uksort().