Tri d'un tableau multidimensionnel par valeur de sous-tableau en PHP
En PHP, les tableaux peuvent être multidimensionnels, ce qui signifie qu'ils peuvent contenir des tableaux dans des tableaux . Un cas d'utilisation courant consiste à trier de tels tableaux en fonction d'une clé spécifique dans les sous-tableaux imbriqués.
Tri par clé de chaîne
Considérez le tableau suivant :
$array = [ [ 'configuration_id' => 10, 'id' => 1, 'optionNumber' => '3', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 9, 'id' => 1, 'optionNumber' => '2', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 8, 'id' => 1, 'optionNumber' => '1', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ] ];
Pour trier ce tableau par ordre croissant en fonction de la clé 'optionNumber', nous pouvons utiliser usort avec un anonyme function :
usort($array, function ($a, $b) { return strcmp($a['optionNumber'], $b['optionNumber']); });
Cette fonction compare les valeurs 'optionNumber' de chaque sous-tableau et renvoie 1 si la première valeur est supérieure, -1 si elle est plus petite ou 0 si elles sont égales. Cette comparaison est sensible à la casse.
Tri par une clé entière
Si la clé 'optionNumber' contient des entiers, on peut utiliser la fonction suivante :
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Cette comparaison triera le tableau par ordre numérique croissant order.
Considérations
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!