<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Section avant(N'a rien à voir avec le contenu de l'article)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article!<br>"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Heure actuelle:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>) . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
titre: Comment krsort Fonctions et array_multisort Utilisez-le pour un tri plus complexe?
exister PHP milieu,Le tri des tableaux est une opération courante。krsort et array_multisort Ce sont deux fonctions puissantes,Mais l'utilisation est différente。本文Volonté详细说明Comment它们结合utiliser,Pour atteindre des exigences de tri plus complexes。
*/</span>
<span class="hljs-comment">/*
1. krsort Introduction
krsort Utilisé pour trier descendante selon les clés d'un tableau(De grand à petit)。La syntaxe est la suivante:
krsort(array &$array, int $sort_flags = SORT_REGULAR): bool
Exemple:
*/</span>
</span><span><span class="hljs-variable">$data</span></span><span> = [
</span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>,
</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>,
</span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>,
];
</span><span><span class="hljs-title function_ invoke__">krsort</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>); </span><span><span class="hljs-comment">// Tableaux de sortie organisés par ordre décroissant des clés ['c'=>3,'b'=>2,'a'=>1]</span></span><span>
<span class="hljs-comment">/*
2. array_multisort Introduction
array_multisort Plusieurs tableaux ou tableaux multidimensionnels peuvent être triés ensemble,Très adapté aux besoins de tri complexes。Il peut non seulement trier par valeur,Vous pouvez également spécifier l'ordre de tri(Commande ascendante/Ordre descendant)et类型。
*/</span>
<span class="hljs-comment">/*
3. Volonté krsort et array_multisort Utiliser en conjonction
Supposons que nous ayons un tableau multidimensionnel,需要先按键Ordre descendant排列,再按某个子元素的值Commande ascendante排序,Vous pouvez suivre les étapes suivantes:
*/</span>
</span><span><span class="hljs-variable">$users</span></span><span> = [
</span><span><span class="hljs-string">'user3'</span></span><span> => [</span><span><span class="hljs-string">'age'</span></span><span> => </span><span><span class="hljs-number">25</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> => </span><span><span class="hljs-number">88</span></span><span>],
</span><span><span class="hljs-string">'user1'</span></span><span> => [</span><span><span class="hljs-string">'age'</span></span><span> => </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> => </span><span><span class="hljs-number">92</span></span><span>],
</span><span><span class="hljs-string">'user2'</span></span><span> => [</span><span><span class="hljs-string">'age'</span></span><span> => </span><span><span class="hljs-number">22</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span> => </span><span><span class="hljs-number">95</span></span><span>],
];
</span><span><span class="hljs-comment">// premier pas:按键Ordre descendant</span></span><span>
</span><span><span class="hljs-title function_ invoke__">krsort</span></span><span>(</span><span><span class="hljs-variable">$users</span></span><span>);
</span><span><span class="hljs-comment">// Étape 2:Extraire les colonnes à tri</span></span><span>
</span><span><span class="hljs-variable">$ages</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_column</span></span><span>(</span><span><span class="hljs-variable">$users</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span>);
</span><span><span class="hljs-variable">$scores</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_column</span></span><span>(</span><span><span class="hljs-variable">$users</span></span><span>, </span><span><span class="hljs-string">'score'</span></span><span>);
</span><span><span class="hljs-comment">// Étape 3:utiliser array_multisort Effectuer un tri multidimensionnel</span></span><span>
</span><span><span class="hljs-title function_ invoke__">array_multisort</span></span><span>(</span><span><span class="hljs-variable">$ages</span></span><span>, SORT_ASC, </span><span><span class="hljs-variable">$scores</span></span><span>, SORT_DESC, </span><span><span class="hljs-variable">$users</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$users</span></span><span>);
<span class="hljs-comment">/*
Explication des résultats:
1. Première passe krsort 按键Ordre descendant排列用户。
2. 然后utiliser array_multisort 对用户的年龄Commande ascendante排列,Si l'âge est le même,则按分数Ordre descendant排列。
3. A enfin eu $users 数组既保持了按键Ordre descendant的初始顺序,Implémenter le tri complexe par valeur。
4. Conseils
- Lorsque le tableau est grand,Utiliser d'abord krsort Trier les clés,Utiliser à nouveau array_multisort Trier les valeurs,Il peut assurer une logique de tri claire。
- array_multisort Prend en charge le tri multi-colonnes,utiliser array_column Extraire les colonnes correspondantes est la plus pratique。
- Si le tableau est un tableau associatif,N'oubliez pas de d'abord krsort Utiliser à nouveau array_multisort Réindex,Pour éviter la non-concordance des valeurs clés。
*/</span>
<span class="hljs-comment">/*
Résumer:
Volonté krsort et array_multisort 结合utiliser,Peut implémenter des exigences complexes de tri de tableau multidimensionnelles。krsort 负责按键的Ordre descendant排序,array_multisort Ensuite, plusieurs conditions peuvent être effectuées pour la valeur du tableau、Tri de type。Cette méthode de combinaison est à la fois flexible et efficace,Convient pour divers scénarios d'application pratiques,Par exemple, la gestion des données des utilisateurs、Rapport de tri, etc.。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>