PHP 配列、配列の内容はおおよそ次のとおりです:
コードをコピー コードは次のとおりです:
$list = array(
array(2,3,5),
array(2) ,5,24) ,
配列(3,8,6),
配列(3,2,10),
配列(4,7,20),
配列(4,1,15),
配列(6) ,4,10) ,
array(7,9,20),
);
表現の便宜上、3 列の数値をそれぞれ ABC の 3 列と呼びます
要件: デフォルトでは、並べ替えは列 A に基づいて行われます。列 A が同じ場合、同じ要素が列 C で逆順に並べ替えられます。 B列は実際にはソートには関与しませんが、実務で役立つのでこれも書き出してみました。
方法 1:
コードをコピーします コードは次のとおりです:
$a = $c = array();
foreach($list as $val){
$a[] = $val [0]; //列 a
$c[] = $val[2]; //列 c
}
//SQL の orderby と同様に、列 a を降順でインストールします。 a asc,b desc
array_multisort($a ,SORT_ASC, $c, SORT_DESC, $list);
print_r($list);
方法 2:
コードをコピーします コードは次のとおりです:
for($j=0;$j for($i=count($list)-1;$i>$j;$i--){
if ($list[$i][0] == $list [$i-1][0] && $list[$i][2] > $list[$i-1][2])
list( $list[$i],$list[$i-1 ]) = array($list[$i-1],$list[$i]);
}
}
http://www.bkjia.com/PHPjc/779000.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/779000.html技術記事 PHP 配列、配列の内容はおおよそ次のとおりです。 次のようにコードをコピーします。 $list = array( array(2,3,5), array(2,5,24), array(3,8,6) 、配列( 3,2,10)、配列(4,7,20)、配列(4,1,15)、...