Maison > développement back-end > tutoriel php > Explication détaillée de la façon dont PHP utilise les fonctions usort et uasort pour implémenter le tri de tableaux multidimensionnels

Explication détaillée de la façon dont PHP utilise les fonctions usort et uasort pour implémenter le tri de tableaux multidimensionnels

伊谢尔伦
Libérer: 2023-03-11 13:58:02
original
2201 Les gens l'ont consulté

Quand on veut trier le tableau multidimensionnel, chaque élément du tableau multidimensionnel est un type de tableau, et comment comparer les tailles des deux tableaux ? Cela doit être personnalisé par l'utilisateur (que ce soit pour comparer en fonction du premier élément de chaque tableau ou...).

NumberIndexArray :
bool usort( array &$array, callback $cmp_function )
la fonction usort opère sur le tableau spécifié (paramètre 1) de la manière spécifiée ( paramètre 2) pour trier.
Lorsque nous voulons trier un tableau multidimensionnel, chaque élément du tableau multidimensionnel est un type de tableau, et comment comparer les tailles des deux tableaux ? Cela doit être personnalisé par l'utilisateur (que ce soit pour comparer en fonction du premier élément de chaque tableau ou...).

<?php 
//定义多维数组 
$a = array( 
array("sky", "blue"), 
array("apple", "red"), 
array("tree", "green")); 
//自定义数组比较函数,按数组的第二个元素进行比较。 
function my_compare($a, $b) { 
if ($a[1] < $b[1]) 
return -1; 
else if ($a[1] == $b[1]) 
return 0; 
else 
return 1; 
} 
//排序 
usort($a, &#39;my_compare&#39;); 
//输出结果 
foreach($a as $elem) { 
echo "$elem[0] : $elem[1]<br />"; 
} 

?>
Copier après la connexion

Le résultat est :

sky : blue 
tree : green 
apple : red
Copier après la connexion

Tableau associatif :
bool uasort(array &$array, callback $ cmp_function )
bool uksort(array &$array, callback $cmp_function)

uasort, uksort est utilisé de la même manière que usort, où uasort() trie les valeurs du tableau associatif, uksort() trie les clés du tableau associatif.

<?php 
$a = array( 
&#39;Sunday&#39; => array(0,&#39;7th&#39;), 
&#39;Friday&#39; => array(5,&#39;5th&#39;), 
&#39;Tuesday&#39;=> array(2,&#39;2nd&#39;));
function my_compare($a, $b) { 
if ($a[1] < $b[1]) 
return -1; 
else if ($a[1] == $b[1]) 
return 0; 
else 
return 1; 
} 
//按$a数组的值的第二个元素(7th,5th,2nd)进行排序 
uasort($a, &#39;my_compare&#39;); 
foreach($a as $key => $value) { 
echo "$key : $value[0] $value[1]<br />"; 
} 
//按$a数组的关键字的第二个字符(r,u,u)进行排序 
uksort($a, &#39;my_compare&#39;); 
foreach($a as $key => $value) { 
echo "$key : $value[0] $value[1]<br />"; 
} 

?>
Copier après la connexion

Le résultat est :

Tuesday : 2 2nd 
Friday : 5 5th 
Sunday : 0 7th 
Friday : 5 5th 
Sunday : 0 7th 
Tuesday : 2 2nd
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal