ホームページ > バックエンド開発 > PHPチュートリアル > カスタムオーダーに基づいて PHP 配列を並べ替える方法

カスタムオーダーに基づいて PHP 配列を並べ替える方法

Patricia Arquette
リリース: 2024-12-24 08:11:15
オリジナル
952 人が閲覧しました

How to Sort a PHP Array Based on a Custom Order?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート