Maison  >  Article  >  développement back-end  >  Conseils pour le tri multidimensionnel des tableaux PHP : du novice au compétent

Conseils pour le tri multidimensionnel des tableaux PHP : du novice au compétent

WBOY
WBOYoriginal
2024-04-29 13:51:01514parcourir

Compétences en matière de tri de tableaux multidimensionnels : Tri unidimensionnel : utilisez la fonction sort() Tri multidimensionnel : utilisez la fonction de rappel usort() Tri imbriqué : utilisez plusieurs fonctions de rappel pour trier différents champs dans un ordre spécifié Cas pratique : trier clients par nom de famille et date de naissance Tri par liste

Conseils pour le tri multidimensionnel des tableaux PHP : du novice au compétent

Conseils pour le tri multidimensionnel des tableaux en PHP : du débutant à la maîtrise

Le tri des tableaux est une tâche basique mais puissante en PHP. Lorsqu'il s'agit de tableaux multidimensionnels, les choses deviennent plus compliquées, mais en utilisant les bonnes techniques, nous pouvons les trier facilement et efficacement.

Nouvelle méthode

Pour le tri unidimensionnel, nous pouvons utiliser la sort() fonction :

$array = ['a', 'c', 'b'];
sort($array);
print_r($array); // ['a', 'b', 'c']

Méthode intermédiaire

Tri multidimensionnel Vous devez utiliser la fonction de rappel :

$array = [
    ['name' => 'Alice', 'age' => 30],
    ['name' => 'Bob', 'age' => 25],
    ['name' => 'Charlie', 'age' => 35],
];

usort($array, function ($a, $b) {
    return $a['age'] <=> $b['age'];
});

print_r($array); // [
    ['name' => 'Bob', 'age' => 25], 
    ['name' => 'Alice', 'age' => 30], 
    ['name' => 'Charlie', 'age' => 35]
]

Méthode avancée

Tri imbriqué Utiliser plusieurs fonctions de rappel :

$array = [
    ['name' => 'Alice', 'age' => 30],
    ['name' => 'Bob', 'age' => 25, 'city' => 'New York'],
    ['name' => 'Charlie', 'age' => 35, 'city' => 'London'],
];

usort($array, function ($a, $b) {
    if ($a['age'] == $b['age']) {
        return strcmp($a['city'], $b['city']);
    }
    return $a['age'] <=> $b['age'];
});

print_r($array); // [
    ['name' => 'Bob', 'age' => 25, 'city' => 'New York'],
    ['name' => 'Alice', 'age' => 30],
    ['name' => 'Charlie', 'age' => 35, 'city' => 'London']
]

Cas pratique

Tri de la liste clients : Triez la liste des clients en fonction du nom et de la date de naissance du client.

$customers = [
    ['name' => 'John Doe', 'birthdate' => '1980-01-01'],
    ['name' => 'Jane Doe', 'birthdate' => '1985-03-08'],
    ['name' => 'Tom Smith', 'birthdate' => '1975-12-15'],
];

usort($customers, function ($a, $b) {
    if ($a['name'] == $b['name']) {
        return strtotime($a['birthdate']) <=> strtotime($b['birthdate']);
    }
    return strcmp($a['name'], $b['name']);
});

Avec ces conseils, vous pouvez trier facilement et efficacement les tableaux multidimensionnels PHP de votre projet, quelle que soit leur complexité.

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