PHP でのカスタム オーダー配列の並べ替え
PHP での配列の並べ替えは、通常、比較ベースのアルゴリズムを通じて行われます。ただし、事前定義されたカスタム順序に基づいて配列を並べ替える必要がある状況もあります。
各サブ配列に「id」と「title」という 2 つのキーが含まれる配列の配列を考えてみましょう。メイン配列を次のような特定の順序で並べ替えたいとします。
[3452342, 5867867, 7867867, 1231233]
これを実現するには、usort() 関数を利用します。この関数を使用すると、配列要素の比較方法を定義する比較関数を指定できます。
この場合、比較関数はクロージャを使用して、カスタム オーダー配列 ( $order):
usort($array, function ($a, $b) use ($order) { $pos_a = array_search($a['id'], $order); $pos_b = array_search($b['id'], $order); return $pos_a - $pos_b; });
比較関数は、$order 配列内の "id" 値の位置を $pos_a と $pos_b に割り当てます。次に、これらの位置を減算して順序を決定します ($pos_a が $pos_b より小さい場合、$a は $b の前になります)。
カスタム順序配列と比較関数を使用すると、配列を効果的に並べ替えることができます。配列は事前に定義された順序で並べられます。
以上がカスタムオーダーに基づいて PHP 配列を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。