ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「usort()」と「uasort()」を使用して多次元配列をソートするにはどうすればよいですか?
多次元配列をソートする必要がある場合は、多くの状況が発生します。これは、usort() 関数内でユーザー定義の比較関数を使用することで実現できます。
usort() を使用した単一キーによる並べ替え
並べ替えするには指定された配列を「order」キーの値で表すと、ソート関数を次のように定義できます。
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; } usort($myArray, 'sortByOrder');
代わりに、匿名関数を使用することもできます:
usort($myArray, function($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; });
多次元ソート
このアプローチは拡張できます。多次元配列をソートします。たとえば、「順序」で並べ替えてから「サブ順序」で並べ替える場合:
usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; } return $retval; });
uasort() によるキーの関連付けの保持
キーの関連付けを保持する必要がある場合、uasort()を使用します。比較については、マニュアルの配列ソート関数の比較を参照してください。
以上がPHP で「usort()」と「uasort()」を使用して多次元配列をソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。