Array_multisort() による動的並べ替え
array_multisort() を使用する場合、特定の条件に基づいて並べ替えオプションを変更する必要が生じる場合があります。デフォルトのアプローチでは、事前定義された並べ替えルールを使用して静的な数の引数を渡します。ただし、柔軟性とダイナミズムを実現するには、代替ソリューションが必要です。
未知の数の並べ替えルールに対応するには、call_user_func_array() の利用を検討してください。この関数を使用すると、引数の可変配列をユーザー定義関数に渡すことができます。この場合、array_multisort() を使用して $arraytosort 配列を変更することができます。
次の例を考えてみましょう。
<code class="php">$dynamicSort = "$sort1,SORT_ASC,$sort2,SORT_ASC,$sort3,SORT_ASC"; $param = array_merge(explode(",", $dynamicSort), array($arrayToSort)); call_user_func_array('array_multisort', $param);</code>
このアプローチでは、指定されたパラメータに基づいてパラメータ配列を動的に構築します。並べ替えルール。後続の call_user_func_array() の呼び出しでは、これらのルールを適用して $arraytosort 配列をソートします。
以上がArray_multisort() の Call_user_func_array() を使用して動的ソートを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。