データを並べ替えるための既製の関数はたくさんありますが、指定したフィールドを並べ替えたい場合に備えて、共有して学習できるように、関連する配列の並べ替え関数をいくつかまとめました。
他のことについては話さないで、特定のフィールドで 2 次元配列を並べ替える例を直接見てみましょう。
代码如下 | 复制幣 |
/** * @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()関数は、配列セルを下位から上位にソートするために使用されます。 |
•rsort() 関数は、配列セルを上位から下位にソートするために使用されます。
•ksort() 関数は、配列セルをキー名で下位から上位にソートするために使用されます。
• krsort() 関数は、キー名によって配列セルを上位から下位にソートするために使用されます。array_multisort() 関数は、複数の配列または多次元配列をソートします
http://www.bkjia.com/PHPjc/632714.html
http://www.bkjia.com/PHPjc/632714.html