Lorsque vous travaillez avec des tableaux multidimensionnels, il peut être nécessaire de trier le tableau en fonction de la valeur d'une clé spécifique. Par exemple, si vous disposez d'un tableau contenant une liste d'images, vous souhaiterez peut-être les trier par date ou par taille.
Pour trier un tableau par une seule clé clé, vous pouvez utiliser la fonction usort(). Cette fonction prend deux paramètres : le tableau à trier et une fonction de tri. La fonction de tri doit prendre deux paramètres, qui représentent les deux éléments à comparer.
Par exemple, disons que nous avons le tableau suivant, et que nous voulons le trier par la valeur de la clé "order":
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) )
Pour trier ce tableau, on peut utiliser la fonction de tri suivante :
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; }
Ensuite, on peut passer cette fonction au Fonction usort() :
usort($myArray, 'sortByOrder');
Après le tri, le tableau sera trié par la valeur de la clé "order":
Array ( [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) )
Pour trier un tableau par plusieurs clés, vous pouvez utiliser l'approche suivante :
Par exemple, disons que nous avons le tableau suivant et que nous voulons le trier par la valeur de la clé "order", puis par la valeur du "title" clé :
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 1 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Free [order] => 2 ) [3] => Array ( [hashtag] => c1ede105cf8a54bbfb9f06542a9971bb [title] => Ready [order] => 3 ) )
Pour trier ce tableau, nous pouvons utiliser la fonction de tri suivante :
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!