ホームページ > バックエンド開発 > PHPチュートリアル > PHP で「array_multisort()」を使用して複数の列を使用して多次元配列をソートするにはどうすればよいですか?

PHP で「array_multisort()」を使用して複数の列を使用して多次元配列をソートするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-16 14:23:15
オリジナル
107 人が閲覧しました

How can I sort a multidimensional array in PHP using multiple columns with `array_multisort()`?

複数の列による多次元配列の並べ替え

複数の基準を使用した多次元配列の並べ替えは複雑なタスクになる可能性がありますが、データの整理と取得には非常に重要です効率的に。この質問では、array_multisort() を使用して複数の列に基づいて多次元配列を並べ替える方法について説明します。

array_multisort() について

array_multisort() は組み込みの PHP 関数です複数の条件で配列を並べ替えることができます。並べ替えの基準となる列を表す、任意の数の配列を入力として受け取ります。各入力配列の対応する要素が並べ替えのために比較されます。

実装

  1. 並べ替えキーの特定: 並べ替える列を決定します。並べ替え。この場合、「state」、「event_type」、「date_start」があります。
  2. 列データの取得: 指定された並べ替えの値を格納する配列 ($sort) を作成します。キー。元の配列をループし、各キーのデータを抽出します。
  3. 列の並べ替え: $sort 配列を使用して array_multisort() を呼び出します。各列に希望の並べ替え順序を指定します (例: 'state' の SORT_DESC)。
  4. 元の配列の更新: 並べ替え後、array_multisort() は元の配列 ($mylist) を変更します。

例コード

$sort = array();
foreach($mylist as $k=>$v) {
    $sort['state'][$k] = $v['state'];
    $sort['event_type'][$k] = $v['event_type'];
    $sort['date_start'][$k] = $v['date_start'];
}

array_multisort($sort['state'], SORT_ASC,
                $sort['event_type'], SORT_DESC,
                $sort['date_start'], SORT_ASC,
                $mylist);
ログイン後にコピー

結果:

$mylist 配列は、'state' による昇順、'event_type' による降順で並べ替えられます。 「date_start」による昇順。

以上がPHP で「array_multisort()」を使用して複数の列を使用して多次元配列をソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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