En PHP, comment trier un tableau en fonction de la comparaison des valeurs du tableau ?

WBOY
Libérer: 2024-05-03 09:06:01
original
862 Les gens l'ont consulté

Les méthodes pour trier les tableaux en PHP sont : utilisez la fonction sort() pour trier par ordre croissant. Utilisez la fonction rsort() pour trier par ordre décroissant. Utilisez la fonction asort() pour trier les valeurs d'un tableau associatif par ordre croissant. Utilisez la fonction arsort() pour trier les valeurs par ordre décroissant pour un tableau associatif. Utilisez des fonctions de comparaison personnalisées pour un tri plus complexe.

在 PHP 中,如何根据数组值的比较对数组进行排序?

Comment trier un tableau PHP en fonction de la comparaison des valeurs du tableau

En PHP, il existe plusieurs façons de trier un tableau en fonction de la comparaison des valeurs du tableau. Cet article présentera l'utilisation des fonctions intégrées sort(), rsort(), asort(), arsort( ) et Une manière courante de trier un tableau consiste à utiliser une fonction de comparaison personnalisée. sort()rsort()asort()arsort() 和自定义比较函数对数组进行排序的常见方法。

使用 sort() 函数:

sort() 函数对数组中的值进行从小到大的升序排列。

$arr = [3, 5, 2, 7, 1];
sort($arr);
print_r($arr); // 输出: [1, 2, 3, 5, 7]
Copier après la connexion

使用 rsort() 函数:

rsort() 函数对数组中的值进行从大到小的降序排列。

$arr = [3, 5, 2, 7, 1];
rsort($arr);
print_r($arr); // 输出: [7, 5, 3, 2, 1]
Copier après la connexion

使用 asort() 函数:

asort() 函数对关联数组中的值进行从小到大的升序排列,键保持不变。

$arr = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];
asort($arr);
print_r($arr); 
// 输出: [
//     "age" => 30,
//     "city" => "New York",
//     "name" => "John"
// ]
Copier après la connexion

使用 arsort() 函数:

arsort() 函数对关联数组中的值进行从大到小的降序排列,键保持不变。

$arr = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];
arsort($arr);
print_r($arr); 
// 输出: [
//     "name" => "John",
//     "city" => "New York",
//     "age" => 30
// ]
Copier après la connexion

使用自定义比较函数:

对于更复杂的排序要求,可以使用自定义比较函数。比较函数接受两个参数,并返回 -1、0 或 1,具体取决于第一个参数是否小于、等于或大于第二个参数。

function custom_sort($a, $b) {
    return strcmp($a["name"], $b["name"]);
}

$arr = [
    ["name" => "John", "age" => 30],
    ["name" => "Mary", "age" => 25],
    ["name" => "Bob", "age" => 35]
];
usort($arr, "custom_sort");
print_r($arr); 
// 输出: [
//     ["name" => "Bob", "age" => 35],
//     ["name" => "John", "age" => 30],
//     ["name" => "Mary", "age" => 25]
// ]
Copier après la connexion

实战案例:

以下是一个实战案例,展示了如何使用 sort()

🎜Utilisez la fonction sort() : 🎜🎜🎜La fonction sort() trie les valeurs du tableau par ordre croissant de petit à grand. 🎜
$characters = [
    ["name" => "Mario", "level" => 5],
    ["name" => "Luigi", "level" => 3],
    ["name" => "Donkey Kong", "level" => 7]
];

sort($characters);
print_r($characters); 
// 输出: [
//     ["name" => "Donkey Kong", "level" => 7],
//     ["name" => "Luigi", "level" => 3],
//     ["name" => "Mario", "level" => 5]
// ]
Copier après la connexion
🎜🎜Utilisez la fonction rsort() : 🎜🎜🎜rsort() La fonction trie les valeurs du tableau par ordre décroissant de grand à petit. 🎜rrreee🎜🎜Utilisez la fonction asort() : 🎜🎜🎜asort() La fonction trie les valeurs du tableau associatif par ordre croissant de petit à grand, et les clés restent inchangées. 🎜rrreee🎜🎜Utilisez la fonction arsort() : 🎜🎜🎜arsort() La fonction trie les valeurs du tableau associatif par ordre décroissant du grand au petit, et les clés restent inchangées. 🎜rrreee🎜🎜Utilisez des fonctions de comparaison personnalisées : 🎜🎜🎜Pour des exigences de tri plus complexes, vous pouvez utiliser des fonctions de comparaison personnalisées. La fonction de comparaison accepte deux arguments et renvoie -1, 0 ou 1, selon que le premier argument est inférieur, égal ou supérieur au deuxième argument. 🎜rrreee🎜🎜Cas pratique : 🎜🎜🎜Voici un cas pratique montrant comment utiliser la fonction sort() pour trier un tableau de personnages de jeux vidéo par ordre croissant de nom : 🎜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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!