ホームページ  >  記事  >  バックエンド開発  >  php array_multisort 関数を使用してデータベース結果の複雑な並べ替えを実行する方法_PHP チュートリアル

php array_multisort 関数を使用してデータベース結果の複雑な並べ替えを実行する方法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:07:30930ブラウズ

まず、要件について説明します。データベースには、ID、ボリューム、エディション、名前の 4 つのフィールドがあります。ボリューム + エディションに従ってクエリ結果を大きいものから小さいものに並べ替える必要があります。
array_multisort 関数については以下で説明します
array_multisort() は、複数の配列を一度に並べ替えたり、特定の次元または複数の次元に従って多次元配列を並べ替えたりするために使用できます。

連想 (文字列) キー名は変更されませんが、数値キー名は再インデックスされます。

ソート順序フラグ:
SORT_ASC – 昇順でソート
SORT_DESC – 降順でソート

ソートタイプフラグ:
SORT_REGULAR – 通常の方法に従って項目を比較します
SORT_NUMERIC – 数値に従って項目を比較します
SORT_STRING – 文字列に従って項目を比較します

各配列の後に 2 つの同様の並べ替えフラグを指定することはできません。各配列の後に指定されたソート フラグは、その配列に対してのみ有効です。それ以前は、デフォルト値 SORT_ASC および SORT_REGULAR が使用されていました。

入力配列はテーブルの列として扱われ、行ごとに並べ替えられます。これは SQL の ORDER BY 句の機能と似ています。最初の配列は、ソートされるメインの配列です。配列内の行 (値) が同じであると比較された場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。

この関数のパラメータ構造はやや特殊ですが、非常に柔軟です。最初のパラメータは配列である必要があります。次の各引数には、以下にリストされている配列または並べ替えフラグを指定できます。

このようなデータセットができました

コードをコピーします コードは次のとおりです:

// これはデータベースからクエリされた結果のセットです
$data[] = array( 'ボリューム' => 67, 'エディション' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 1);
$data[] = 配列( 'ボリューム' => 85, 'エディション' => 6);
$data[] = array('ボリューム' => 98, 'エディション' => 2);
$data[] = 配列( 'volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
// volume+edition first Array to
foreach($data as $val){
$arr[] = $val['volume'] + $val['edition']
}
// $arr を降順に並べ替えます
// $ data を最後のパラメータとして置き、共通キーでソート
array_multisort($arr, SORT_DESC, $data);

これで必要な機能が実現します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327546.html技術記事まず、要件について説明します。データベースには、ID、ボリューム、エディション、名前の 4 つのフィールドがあります。ボリューム + エディションに従って、クエリ結果を大きいものから小さいものに並べ替える必要があります。 array_multisort 関数を見てみましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。