Tri des tableaux multidimensionnels à l'aide de PHP

WBOY
Libérer: 2023-06-06 08:34:02
original
1680 Les gens l'ont consulté

En programmation PHP, nous avons souvent besoin de trier des tableaux multidimensionnels pour répondre à différents besoins, comme le tri par prix, le tri par ordre alphabétique, etc. Cependant, le tri des tableaux multidimensionnels est plus complexe que celui des tableaux unidimensionnels. Cet article explique comment utiliser PHP pour trier des tableaux multidimensionnels.

  1. La fonction de tri de PHP

Tout d'abord, nous devons comprendre les fonctions de tri en PHP : sort(), rsort(), asort () , arsort(), ksort(), krsort(), uksort(), usort(). Ces fonctions conviennent au tri de tableaux unidimensionnels. Si vous souhaitez trier un tableau multidimensionnel, nous devons utiliser une fonction de rappel pour trier le tableau.

  1. Définition de la fonction de rappel

La fonction de rappel fait référence à une fonction passée en paramètre dans d'autres fonctions. En PHP, les fonctions de rappel sont généralement utilisées pour trier, filtrer, parcourir, etc. Nous pouvons utiliser une fonction anonyme ou une fonction avec un nom personnalisé comme fonction de rappel.

Ce qui suit est un exemple d'utilisation d'une fonction anonyme comme fonction de rappel :

$array = array(
    array('price' => 45.50),
    array('price' => 15.00),
    array('price' => 20.15),
    array('price' => 25.00),
    array('price' => 90.10),
    array('price' => 9.99),
);

usort($array, function($a, $b) {
    if ($a['price'] == $b['price']) return 0;
    return ($a['price'] < $b['price']) ? -1 : 1;
});

print_r($array);
Copier après la connexion

Le résultat de sortie est le suivant :

Array (
    [0] => Array ( [price] => 9.99 )
    [1] => Array ( [price] => 15 )
    [2] => Array ( [price] => 20.15 )
    [3] => Array ( [price] => 25 )
    [4] => Array ( [price] => 45.5 )
    [5] => Array ( [price] => 90.1 )
)
Copier après la connexion
    #🎜 🎜#Utilisez la fonction de rappel pour trier les tableaux multidimensionnels
Si vous souhaitez trier des tableaux multidimensionnels, nous devons utiliser une fonction de rappel pour définir les règles de tri du tableau. Nous pouvons définir plusieurs conditions de tri dans la fonction de rappel et comparer les valeurs des éléments du tableau une par une en fonction de la priorité pour atteindre l'objectif de tri.

Ce qui suit est un exemple d'utilisation d'une fonction de rappel pour trier un tableau multidimensionnel :

$array = array(
    array('name' => 'John', 'age' => 25, 'score' => 80),
    array('name' => 'Mary', 'age' => 28, 'score' => 90),
    array('name' => 'Bob', 'age' => 20, 'score' => 95),
    array('name' => 'Jack', 'age' => 30, 'score' => 85),
    array('name' => 'Lisa', 'age' => 22, 'score' => 85),
);

// 按照年龄降序、分数升序、名字升序排序
usort($array, function($a, $b) {
    if ($a['age'] == $b['age']) {
        if ($a['score'] == $b['score']) {
            return strcmp($a['name'], $b['name']);
        } else {
            return ($a['score'] > $b['score']) ? 1 : -1;
        }
    } else {
        return ($a['age'] < $b['age']) ? 1 : -1;
    }
});

print_r($array);
Copier après la connexion

Le résultat est le suivant :

Array (
    [0] => Array ( [name] => Mary [age] => 28 [score] => 90 )
    [1] => Array ( [name] => Jack [age] => 30 [score] => 85 )
    [2] => Array ( [name] => Lisa [age] => 22 [score] => 85 )
    [3] => Array ( [name] => John [age] => 25 [score] => 80 )
    [4] => Array ( [name] => Bob [age] => 20 [score] => 95 )
)
Copier après la connexion
    Résumé# 🎜🎜#
  1. Cet article présente comment utiliser PHP pour implémenter le tri de tableaux multidimensionnels. Tout d'abord, nous comprenons la fonction de tri en PHP, puis trions les tableaux multidimensionnels. tableau via la fonction de rappel. Dans le développement actuel, le tri est une fonction très courante, et le tri de tableaux multidimensionnels peut nous permettre de mieux répondre à divers besoins.

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