ホームページ > バックエンド開発 > PHPチュートリアル > PHPで特定のフィールドで2次元配列をソートするにはどうすればよいですか? _PHP チュートリアル

PHPで特定のフィールドで2次元配列をソートするにはどうすればよいですか? _PHP チュートリアル

WBOY
リリース: 2016-07-13 10:49:32
オリジナル
1171 人が閲覧しました

データを並べ替えるための既製の関数はたくさんありますが、指定したフィールドを並べ替えたい場合に備えて、共有して学習できるように、関連する配列の並べ替え関数をいくつかまとめました。

他のことについては話さないで、特定のフィールドで 2 次元配列を並べ替える例を直接見てみましょう。

•rsort() 関数は、配列セルを上位から下位にソートするために使用されます。 •asort() 関数は、配列セルを下位から上位にソートし、インデックス関係を維持するために使用されます。
代码如下 复制幣
    /**
* @author yebihai http://www.bKjia.c0m
* @desc 二次元配列の特定のフィールドに従って昇順および降順にソートします
*@データ
* * $testData = array(
配列('価格'=>19)、
配列('価格'=>121)、
配列('価格'=>115)、
配列('価格'=>113)、
配列('価格'=>112)
); ​​*/
    クラスsortClass{
        //升序
        関数 sortArrayAsc($preData,$sortType='価格'){
            $sortData = 配列();    
            foreach ($preData as $key_i => $value_i){
                $price_i = $value_i[$sortType];    
                $min_key = '';    
                $sort_total = カウント($sortData);    
                foreach ($sortData as $key_j => $value_j){
                    if($price_i<$value_j[$sortType]){
                        $min_key = $key_j+1;    
                        壊す;    
                    }
                }
                if(empty($min_key)){
                    array_push($sortData, $value_i);     
                }else {
                    $sortData1 = array_slice($sortData, 0,$min_key-1);     
                    array_push($sortData1, $value_i);    
                    if(($min_key-1)<$sort_total){
                        $sortData2 = array_slice($sortData, $min_key-1);     
                        foreach ($sortData2 を $value){
                            array_push($sortData1, $value);    
                        }
                    }
                    $sortData = $sortData1;    
                }
            }
            $sortData を返します。    
        }
        // 降順
        関数 sortArrayDesc($preData,$sortType='価格'){
            $sortData = 配列();    
            foreach ($preData as $key_i => $value_i){
                $price_i = $value_i[$sortType];    
                $min_key = '';    
                $sort_total = カウント($sortData);    
                foreach ($sortData as $key_j => $value_j){
                    if($price_i>$value_j[$sortType]){
                        $min_key = $key_j+1;    
                        壊す;    
                    }
                }
                if(empty($min_key)){
                    array_push($sortData, $value_i);     
                }else {
                    $sortData1 = array_slice($sortData, 0,$min_key-1);     
                    array_push($sortData1, $value_i);    
                    if(($min_key-1)                         $sortData2 = array_slice($sortData, $min_key-1);     
                        foreach ($sortData2 を $value){
                            array_push($sortData1, $value);    
                                                                                                                                                $sortData = $sortData1;                                                                                                                                                    return $sortData;                                                                                                                                                     


配列のソートに関するいくつかの関数については後で整理します

データソート機能には

•sort()関数は、配列セルを下位から上位にソートするために使用されます。
•arsort() 関数は、配列セルを上位から下位に並べ替え、インデックス関係を維持するために使用されます。

•ksort() 関数は、配列セルをキー名で下位から上位にソートするために使用されます。

• krsort() 関数は、キー名によって配列セルを上位から下位にソートするために使用されます。

array_multisort() 関数は、複数の配列または多次元配列をソートします







http://www.bkjia.com/PHPjc/632714.html

www.bkjia.comtru​​e

http://www.bkjia.com/PHPjc/632714.html

データを並べ替えるための既製の関数はたくさんありますが、指定したフィールドを並べ替えたい場合に備えて、組み込み関数はありません。以下に、関連する配列の並べ替え関数をいくつかまとめました。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート