Le tri des tableaux PHP consiste en fait à trier les tableaux PHP. Dans cet article, il trie l'ensemble des résultats de la requête de base de données. Les résultats des requêtes de base de données ne peuvent parfois pas être utilisés directement, comme les résultats obtenus à l'aide de l'instruction in dans MySQL, les résultats doivent donc être triés d'une manière ou d'une autre. À ce stade, vous devez trier le tableau PHP. Pour trier les résultats de la base de données, consultez l'exemple suivant :
Dans cet exemple, chaque cellule du tableau de données représente une ligne dans un tableau. Il s'agit d'une manière typique pour les bases de données de stocker les données d'un tableau.
Les données de l'exemple sont les suivantes :
édition |
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7Les
données sont toutes stockées dans un tableau nommé data. Il s'agit généralement du résultat obtenu à partir de la base de données via une boucle, telle que mysql_fetch_assoc() (en fait, vous pouvez considérer cette fonction comme la même que la fonction mysql_fetch_assoc(). Pour des différences spécifiques, vous pouvez lire la différence de clés dans le manuel PHP).
$data[] = array('volume' => 67, 'édition' => 2);
$data[] = array('volume' => 86, 'édition' => 1);
$data[] = array('volume' => 85, 'édition' => 6);
$data[] = array('volume' => 98, 'édition' => 2);
$data[] = array('volume' => 86, 'édition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
Dans cet exemple, le volume sera trié par ordre décroissant et l'édition sera triée par ordre croissant.
Vous avez maintenant un tableau avec des lignes, mais array_multisort() nécessite un tableau avec des colonnes, utilisez donc le code suivant pour obtenir les colonnes puis les trier.
// Récupère la liste des colonnes
foreach ($données en tant que $key => $row) {
$volume[$key] = $row['volume'];
$édition[$key] = $row['édition'];
}
// Classer les données par ordre décroissant selon le volume et par ordre croissant selon l'édition
// Utiliser $data comme dernier paramètre, trier par clé commune
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
La collection de données est maintenant triée et le résultat est le suivant :
édition |
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
En fait, il existe de nombreuses méthodes qui peuvent être utilisées lors du tri, telles que arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort fourni avec le tableau array de PHP. .(), usort(), array_multisort() et uksort().