Comment conserver les noms de clés dans un tableau trié en utilisant PHP ?

WBOY
Libérer: 2024-05-03 15:36:02
original
888 Les gens l'ont consulté

Pour conserver les noms de clé du tableau trié, vous pouvez utiliser la méthode suivante : utilisez ksort() et krsort() pour trier par clé et conserver l'ordre des clés. Utilisez array_multisort() pour trier simultanément sur plusieurs colonnes (y compris les clés). Définissez des fonctions de comparaison personnalisées pour contrôler le classement.

如何使用 PHP 维护排序后的数组中的键名?

Comment conserver les noms de clés dans un tableau trié en utilisant PHP ?

Parfois, après avoir trié un tableau en PHP, vous souhaitez conserver les noms de clés d'origine. Voici comment procéder :

Utilisation des fonctions ksort() et krsort() ksort()krsort() 函数

ksort()krsort() 按键对数组进行排序。这些函数分别按升序和降序对保持键名:

// 按键升序排序
$array = ['name' => 'John', 'age' => 30, 'city' => 'New York'];
ksort($array);

// 按键降序排序
$array = ['name' => 'John', 'age' => 30, 'city' => 'New York'];
krsort($array);
Copier après la connexion

使用 array_multisort() 函数

array_multisort()

ksort() et krsort() Trie un tableau par clé. Ces fonctions conservent les noms de clés respectivement par ordre croissant et décroissant :

// 按键升序排序,如果键相等则按值降序排序
$names = ['name1', 'name3', 'name5', 'name2', 'name4'];
$ages = [20, 30, 50, 40, 60];

array_multisort($names, SORT_ASC, SORT_NUMERIC, $ages, SORT_DESC);
Copier après la connexion

Utilisez la fonction array_multisort()

array_multisort() pour trier plusieurs colonnes de tableau en même temps time , y compris les clés :

function compareKeys($a, $b) {
    return strcmp($a['key'], $b['key']);
}

$array = [{'key' => 'a'}, {'key' => 'c'}, {'key' => 'b'}];
usort($array, 'compareKeys');
Copier après la connexion

Utilisation d'un comparateur personnalisé

🎜 Vous pouvez définir votre propre fonction de comparateur pour contrôler les règles de tri, y compris les clés : 🎜
// 获取用户数据
$users = [
    ['id' => 1, 'name' => 'John Doe'],
    ['id' => 3, 'name' => 'Jane Smith'],
    ['id' => 2, 'name' => 'Bob Johnson']
];

// 使用 ksort 按键升序排序用户
ksort($users);

// 按升序的键输出用户列表
foreach ($users as $user) {
    echo $user['id'] . ': ' . $user['name'] . '<br>';
}
Copier après la connexion
🎜🎜Cas pratique : Tri des utilisateurs par clé 🎜🎜rrreee🎜Ce paragraphe Le le code affichera une liste d'utilisateurs triés par identifiant dans l'ordre croissant, en préservant les noms de clés d'origine. 🎜

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!

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