Tri d'un tableau multidimensionnel par valeur de sous-tableau
Le tri de tableaux par valeurs spécifiques peut être une technique précieuse lors de l'organisation des données pour une récupération et un traitement efficaces. En PHP, vous devrez peut-être trier des tableaux multidimensionnels en fonction d'une valeur de sous-tableau, telle qu'un « optionNumber ».
Tri à l'aide de usort
La fonction usort est un outil efficace pour trier les tableaux à l'aide d'une fonction de comparaison définie par l'utilisateur. Voici un exemple utilisant usort pour trier le tableau donné par la valeur du sous-tableau « optionNumber » :
function cmp_by_optionNumber($a, $b) { return $a["optionNumber"] - $b["optionNumber"]; } ... usort($array, "cmp_by_optionNumber");
Approche des fonctions anonymes (PHP 5.3 et versions ultérieures)
En PHP versions 5.3 et supérieures, vous pouvez utiliser une fonction anonyme comme fonction de comparaison pour usort. Cela simplifie encore le code :
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Opérateur de vaisseau spatial (PHP 7.0 et supérieur)
PHP 7.0 a introduit l'opérateur de vaisseau spatial ( <=> ) qui fournit une autre façon de comparer les valeurs. Il renvoie -1 si $a est inférieur à $b, 0 s'ils sont égaux et 1 si $a est supérieur à $b. Cela élimine le risque de problèmes de débordement ou de troncature dans la comparaison :
usort($array, function ($a, $b) { return $a['optionNumber'] <=> $b['optionNumber']; });
Remarque importante
Lorsque vous utilisez usort, il est crucial de vous assurer que les valeurs du sous-tableau que vous utilisez le tri est constitué d'entiers ou de chaînes numériques. Si les valeurs sont des chaînes, utilisez les fonctions de comparaison de chaînes appropriées pour obtenir l'ordre de tri souhaité.
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!