ホームページ  >  記事  >  バックエンド開発  >  PHP配列グループソートサンプルコード

PHP配列グループソートサンプルコード

WBOY
WBOYオリジナル
2016-07-25 09:11:58792ブラウズ

次の PHP 配列、配列の内容があります。

  1. $list = array(
  2. array(2,3,5),
  3. array(2,5,24),
  4. array(3,8,6),
  5. array(3,2,10) ,
  6. 配列(4,7,20),
  7. 配列(4,1,15),
  8. 配列(6,4,10),
  9. 配列(7,9,20),
  10. );
コードをコピー

表現の便宜上、3列の数字をそれぞれABCの3列と呼びます。 要件: デフォルトでは、列 A が主な並べ替え方法になります。列 A が同じ場合、同じ要素が列 C で逆の順序で並べ替えられます。 B列は実際にはソートには関与しませんが、実務では役立つのでこれも記載します。 方法 1:

  1. $a = $c = array();
  2. foreach($list as $val){
  3. $a[] = $val[0] //列 a
  4. $c; [] = $val[2]; //列 c
  5. }
  6. //SQL と同様に、列 a を昇順でインストールし、列 b を降順でインストールします。orderby a asc,b desc
  7. array_multisort($a, SORT_ASC, $c, SORT_DESC , $list);
  8. print_r($list);
コードをコピー

方法 2:

  1. for($j=0;$jfor($i=count($list)-1;$i>$j ;$i--){
  2. if($list[$i][0] == $list[$i-1][0] && $list[$i][2] > $list[$i- 1][2])
  3. list($list[$i],$list[$i-1]) = array($list[$i-1],$list[$i]);
  4. }
  5. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。