En PHP, la fonction usort() est utilisée pour trier les tableaux par valeurs de clé à plusieurs niveaux. Avec une fonction de comparaison définie par l'utilisateur, le tableau peut être trié en fonction de paires clé-valeur tout en gardant les noms de clé inchangés. Application pratique : Pour trier les commentaires du blog par nombre de likes, vous pouvez utiliser usort() et la fonction de comparaison pour trier par ordre décroissant par likes.
Trier un tableau par valeur de clé à plusieurs niveaux en PHP
En PHP, le tri d'un tableau de valeurs de clé à plusieurs niveaux peut rendre le traitement des données plus pratique. Ce didacticiel montre comment trier un tableau par paires clé-valeur à plusieurs niveaux tout en conservant les noms de clé inchangés.
Utilisez la fonction usort()
usort()
usort()
函数使用用户定义的比较函数对数组进行排序。我们可以通过该函数将数组按指定的键值对排序,同时保持键名。
<?php function compare($a, $b) { return $a['key'] <=> $b['key']; } $data = [ 'data1' => ['key' => 10], 'data2' => ['key' => 5], 'data3' => ['key' => 15], ]; usort($data, 'compare'); print_r($data); ?>
输出:
Array ( [data2] => Array ( [key] => 5 ) [data1] => Array ( [key] => 10 ) [data3] => Array ( [key] => 15 ) )
在这个例子中,我们定义了一个比较函数 compare()
,该函数将数组元素的 key
值进行比较。然后,我们使用 usort()
函数将数组按照 key
值进行排序。
实战案例
让我们考虑一个实际案例,使用 usort()
函数对博客文章的评论按点赞数量进行排序。
<?php $comments = [ 1 => ['content' => '评论 1', 'likes' => 10], 2 => ['content' => '评论 2', 'likes' => 5], 3 => ['content' => '评论 3', 'likes' => 15], ]; function compareComments($a, $b) { return $b['likes'] <=> $a['likes']; } usort($comments, 'compareComments'); foreach ($comments as $id => $comment) { echo "评论 $id: {$comment['content']}, 点赞数: {$comment['likes']}<br>"; } ?>
输出:
评论 3: 评论 3, 点赞数: 15<br> 评论 1: 评论 1, 点赞数: 10<br> 评论 2: 评论 2, 点赞数: 5<br>
在这个例子中,我们使用 compareComments()
函数对评论数组按 likes
usort()
pour trier un tableau à l'aide d'une fonction de comparaison définie par l'utilisateur. Nous pouvons utiliser cette fonction pour trier le tableau par paires clé-valeur spécifiées tout en conservant les noms de clés. 🎜rrreee🎜Sortie : 🎜rrreee🎜Dans cet exemple, nous définissons une fonction de comparaison compare()
qui compare les valeurs key
des éléments du tableau. Nous utilisons ensuite la fonction usort()
pour trier le tableau par valeur key
. 🎜🎜🎜Cas pratique🎜🎜🎜Considérons un cas pratique, utilisant la fonction usort()
pour trier les commentaires d'un article de blog selon le nombre de likes. 🎜rrreee🎜Sortie : 🎜rrreee🎜Dans cet exemple, nous utilisons la fonction compareComments()
pour trier le tableau des commentaires par valeurs j'aime
(ordre décroissant). Nous parcourons ensuite le tableau trié et affichons le contenu et le nombre de likes pour chaque commentaire. 🎜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!