Maison  >  Article  >  développement back-end  >  Comment trier un tableau multidimensionnel en PHP tout en préservant les noms de clés ?

Comment trier un tableau multidimensionnel en PHP tout en préservant les noms de clés ?

WBOY
WBOYoriginal
2024-05-03 21:51:01628parcourir

Triez les tableaux multidimensionnels tout en conservant les noms de clés : 1. Utilisez uksort() pour trier en fonction des valeurs clés et fournissez une fonction de comparaison qui renvoie 1, -1 ou 0 pour indiquer l'ordre relatif des valeurs clés. 2. Utilisez krsort() pour trier les valeurs clés de haut en bas, en acceptant un paramètre de tableau.

如何在 PHP 中对多维数组进行排序,同时保留键名?

Comment trier un tableau multidimensionnel en PHP tout en préservant les noms de clés

Parfois, vous devrez peut-être trier un tableau multidimensionnel tout en préservant ses noms de clés. Pour cela, PHP fournit les fonctions uksort() et krsort(). La fonction uksort()krsort() 函数。

uksort

uksort() 函数根据数组键的值对数组进行排序。它接受两个参数:一个包含要排序的数组和一个比较函数。比较函数应返回以下值之一:

  • 1,如果数组的第一个元素应在第二个元素之前
  • -1,如果数组的第一个元素应在第二个元素之后
  • 0,如果数组的第一个元素等于第二个元素
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

uksort($cars, function($a, $b) {
    return strcmp($a, $b);
});

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>

输出:

BMW: Germany
Honda: Japan
Mercedes: Germany
Toyota: Japan

krsort

krsort()

uksort

🎜🎜uksort() trie un tableau en fonction de la valeur de la clé du tableau. Il accepte deux paramètres : un tableau contenant le tableau à trier et une fonction de comparaison. La fonction de comparaison doit renvoyer l'une des valeurs suivantes : 🎜
  • 1, si le premier élément du tableau doit précéder le deuxième élément
  • -1, si le premier élément du tableau devrait après le deuxième élément
  • 0 si le premier élément du tableau est égal au deuxième élément
<?php

$cars = [
    "Mercedes" => "Germany",
    "BMW" => "Germany",
    "Toyota" => "Japan",
    "Honda" => "Japan"
];

krsort($cars);

foreach ($cars as $key => $value) {
    echo "$key: $value\n";
}

?>
🎜Sortie : 🎜
Toyota: Japan
Honda: Japan
Mercedes: Germany
BMW: Germany
🎜🎜krsort🎜🎜🎜 Le La fonction krsort() trie un tableau et trie les valeurs clés de haut en bas. Il accepte un paramètre, le tableau à trier. 🎜rrreee🎜Sortie : 🎜rrreee

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!

Déclaration:
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