En PHP, array_multisort() fournit un outil puissant pour trier les tableaux multidimensionnels en fonction de plusieurs critères de tri. Cependant, le nombre prédéfini d'arguments peut limiter la flexibilité dans certains scénarios.
Pour réaliser un tri dynamique avec un nombre inconnu d'arguments, envisagez l'approche suivante :
Génération d'arguments dynamiques
Tout d'abord, définissez une variable qui génère dynamiquement les règles de tri en fonction des conditions de votre script. Par exemple :
<code class="php">$dynamicSort = "$sort1,SORT_ASC,$sort2,SORT_ASC,$sort3,SORT_ASC";</code>
call_user_func_array()
Pour transmettre les arguments dynamiques à array_multisort(), utilisez la fonction call_user_func_array(). Cette fonction vous permet d'appeler une fonction avec un nombre arbitraire d'arguments stockés dans un tableau.
Appel array_multisort() modifié
Modifier l'appel array_multisort() pour inclure la chaîne de règle de tri dynamique et le tableau à trier comme dernier argument :
<code class="php">$param = array_merge(explode(",", $dynamicSort), array($arrayToSort)); call_user_func_array('array_multisort', $param);</code>
En utilisant call_user_func_array() et en générant dynamiquement les règles de tri, vous pouvez obtenir un tri flexible et dépendant du contexte des tableaux en PHP .
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!