ホームページ > バックエンド開発 > PHPチュートリアル > 多次元配列をキーでソートする方法: 段階的な解決策?

多次元配列をキーでソートする方法: 段階的な解決策?

Barbara Streisand
リリース: 2024-10-20 19:02:02
オリジナル
673 人が閲覧しました

How to Sort a Multidimensional Array by Key: A Step-by-Step Solution?

キーによる多次元配列の並べ替え: 総合ガイド

多次元配列の要素を特定の順序で配置することは、一般的な要件となる場合がありますプログラミングで。特定のキーで並べ替えると、データを整理して取得する効率的な方法が提供されます。

招待状を含む次の多次元配列を考えてみましょう:

Array (
[0] => Array
    (
        [iid] => 1
        [invitee] => 174
        [nid] => 324343
        [showtime] => 2010-05-09 15:15:00
        [location] => 13
        [status] => 1
        [created] => 2010-05-09 15:05:00
        [updated] => 2010-05-09 16:24:00
    )

[1] => Array
    (
        [iid] => 1
        [invitee] => 220
        [nid] => 21232
        [showtime] => 2010-05-09 15:15:00
        [location] => 12
        [status] => 0
        [created] => 2010-05-10 18:11:00
        [updated] => 2010-05-10 18:11:00
    ))
ログイン後にコピー

この配列を「ステータス」キーで並べ替えるには、次のようにします。 usort() 関数とカスタム比較関数を使用できます。

カスタム比較関数

比較関数は、キーを比較することによって要素の順序を決定します。 「ステータス」キーに基づいて比較する関数は次のとおりです。

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}
ログイン後にコピー

この関数は、$a が $b の前に来る必要がある場合は -1 を返し、$a が $b の後に来る必要がある場合は 1 を返し、それらの場合は 0 を返します。

配列の並べ替え

usort() を使用して配列を並べ替えることができます。

usort($array, "cmp");
ログイン後にコピー

これにより、配列が次の基準で並べ替えられます。 「ステータス」キーを昇順に並べます。順序を逆にしたい場合は、rsort():

rsort($array, "cmp");
ログイン後にコピー

提供された比較関数と並べ替え関数を利用することで、任意のキーで多次元配列を簡単に並べ替えることができます。

以上が多次元配列をキーでソートする方法: 段階的な解決策?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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