ホームページ  >  記事  >  バックエンド開発  >  PHPの2次元配列ソート問題の詳しい解説、2次元配列ソート_PHPチュートリアル

PHPの2次元配列ソート問題の詳しい解説、2次元配列ソート_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:44:281052ブラウズ

PHPの2次元配列ソート問題、2次元配列ソートの詳細説明

PHPでの2次元配列ソート、PHP組み込み関数uasort()を使うことができます

例1:

ユーザー定義の比較関数を使用して配列内の値を並べ替え、インデックスの関連付けを維持します

コールバック関数は次のとおりです: コールバック関数の戻り値が負の数または false の場合、コールバック関数の最初のパラメータが最初に来て、2 番目のパラメータが最後に配置されることを意味します

リーリー

次のように使用します:

リーリー

以下は、参照およびインタビューで使用するための 2 次元配列のソート方法です。

リーリー

例 2:

1 次元配列のソートは、asort、ksort、その他のメソッドを使用して行うことができ、比較的簡単です。 2次元配列のソートを実装するにはどうすればよいですか?これは、array_multisort と usort を使用して実現できます

たとえば、次のような配列:

コードは次のとおりです:

リーリー

小さいものから大きいものまで年齢別に分類できればと思います。著者は2つの方法を整理して皆さんに共有しました。

1. array_multisort を使用します

この方法を使用すると、年齢を抽出して一次元配列に格納し、年齢ごとに昇順に並べる必要があります。具体的なコードは次のとおりです:

コードは次のとおりです:

リーリー

実行後、$users はソートされた配列になり、印刷して確認できます。最初に年齢で昇順に並べ替え、次に名前で昇順で並べ替える必要がある場合、メソッドは上記と同じです。つまり、追加の名前配列を抽出します。最終的な並べ替えメソッドは次のように呼び出されます。

コードは次のとおりです:

リーリー

2. usort を使用します

この方法を使用する最大の利点は、より複雑な並べ替え方法をカスタマイズできることです。たとえば、名前の長さで降順に並べ替えます:


コードは次のとおりです:


リーリー


ここでは匿名関数が使用されており、必要に応じて個別に抽出できます。このうち、$a と $b は、$users 配列の下の要素として理解でき、名前の値に直接インデックスを付けて長さを計算し、長さを比較できます。

================================================ === ====================

ちなみに、PHPのソート機能をいくつか紹介します

sort は配列をソートします 一般に 1 次元のインデックス配列に適しており、インデックスは維持されません

rsortは配列を逆順にソートします 使い方はsortと同じです

asort は配列をソートし、インデックス関係を維持して値をソートします。これは一般に 1 次元配列に適しており、インデックス関係を維持します

arsort は配列を逆順にソートし、インデックスの関係を維持します使用方法は asort と一致しています

ksortは配列をキー名でソートします

krsort は配列をキー名によって逆順にソートします

http://www.bkjia.com/PHPjc/1049118.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1049118.html技術記事 PHP の 2 次元配列のソート問題の詳細な説明。PHP で 2 次元配列をソートするには、PHP 組み込み関数 uasort() を使用します。例 1: ユーザー定義の比較関数対数を使用します。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。