php チュートリアル 1 次元配列のソートと多次元配列のソート
まずは 1 次元データのソート asort() 関数と ksort() 関数の例を見てみましょう
//asort()関数は配列の値を昇順に並べ替えます。 $mix = array("Clalei"=>10,"Bill"=>50,"Aala"=>100); );
print_r($mix);
//ksort () 関数は配列のキーワードの昇順に基づいています
$mix = array("Clalei"=>100,"Bill"=>50, "Aala"=>10);
ksort($mix);
?>
1 次元データのソート 2
sort() 関数は、配列を昇順にソートできます。文字または数字 (小さい順):
$name = array("Clalei","Bill","Aala");
sort($i=0; $i<3;$i++){
echo $name[$ i]; }
$price = array(100,50,10); ;
for($i=0;$i<3;$ i++){
echo $price[$i]." | "
}
?>
それでは、この 2 つを見てみましょう-次元データベース チュートリアルのソート コード例
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'エディション' => 1);
$data[] = array('ボリューム' => 85, 'エディション' => 6);
$data[] = array('ボリューム' => 98, 'エディション' => 2);
$data[] = array('ボリューム' => 86, 'エディション' => 6);
$data[] = array('ボリューム' => 67, ' edition' => 7);
この例では、ボリュームが降順でソートされます。
これで行を含む配列ができましたが、array_multisort() には列を含む配列が必要なので、次のコードを使用して列を取得し、並べ替えます。
// 列のリストを取得します
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row[ ' edition'];
}
// データをボリュームに従って降順、エディションに従って昇順に並べます
// $data を最後のパラメータとして使用し、共通キーでソートします
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $ data);
データ収集がソートされ、結果は次のようになります:
volume | edition
-------+----------
2
86 | 1
86 | 6
67 | 2
67 | 7
二次元配列
array_multisort() に従って並べ替えます正確さ。 Array([0] =&gt; array([username] =&gt; 11yl [surcocy] => [2] =&gt; array([精度] =>
(1)精度列array
foreach( $roughData as $key => $row) {
['accuracy'];
}
(2) Sort
array_multisort($accuracy, SORT_ASC,$roughData);
print_r($roughData);精度の昇順でソートされた 2 次元配列を取得します
2 次元配列のソート方法を使用した簡単な例を見てみましょう
$array[] = array("年齢"=>20,"名前"=>"li");
$array[] = array("年齢"=>21,"名前"=>"ai");
$array[] = array("年齢"=>20,"名前"=>"ci");
$array[] = array("年齢"=> 22,"name"=>"di");
foreach ($array as $key=>$value){
$age[$key] = $value['age'];
$name[$ key] = $value['name'];
}
array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$array);
print_r($array);
?>