Maison >développement back-end >tutoriel php >Conseils pour le tri multidimensionnel des tableaux PHP : du novice au compétent
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
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.
Pour le tri unidimensionnel, nous pouvons utiliser la sort()
fonction :
$array = ['a', 'c', 'b']; sort($array); print_r($array); // ['a', 'b', 'c']
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] ]
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'] ]
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!