2011-10-17 6 views
0

可能性の重複:
Sort multidimensional array by multiple keysusort:複数のデータ型でソートする方法は?

私は貴様のデータ型によって配列の配列をusortできる方法を知ってほしいです。例えば、私は、このデータを持っている:

priority | title 
2   B 
3   C 
2   A 
1   A 
3   D 

私はそれを得るために(SQL priority ASC, title ASCのような)「ダブル・ソート」を作る必要があります。

priority | title 
1   A 
2   A  
2   B 
3   C 
3   D 

本当に、私はあまりにも多くでそれを行う必要性について値は必要ですが、私は基礎だけが必要です。しかし、楽しむと別のロジックを危険にさらすことは、私の本当の問題は、int priority ASC, string method ASC, string prefix ASC, int index ASCのように整理することです。

私は何かを試みましたが、私は仕事をすることはできません。あなたは、これは、それがどのように行うことができるかのほんの基本である、あなたの質問に述べてきたように、全体のことをよりダイナミックにするために、あなたが渡す方法が必要になりPHP.net:multisort()

:。に基づい:(

+0

を選択肢の並べ替え、この例のデータは、データ構造(配列の配列)に一致する方法を示してください。 – GolezTrol

+0

本当に、だ、それを@FelixKling重複して、それも私の問題を解決します。ありがとう。:) –

答えて

2

...その後、ソート配列を使用するかを制御するためのforeachでそれらを使用する関数に

<?php 
//Build example data 
$data = array(); 
$data[] = array('priority'=>2,'title'=>'B'); 
$data[] = array('priority'=>3,'title'=>'C'); 
$data[] = array('priority'=>2,'title'=>'A'); 
$data[] = array('priority'=>1,'title'=>'A'); 
$data[] = array('priority'=>3,'title'=>'D'); 

foreach ($data as $key => $row) { 
    $priority[$key] = $row['priority']; 
    $title[$key] = $row['title']; 
} 

array_multisort($priority, SORT_ASC, $title, SORT_ASC, $data); 

print_r($data); 
?> 
+1

私はこのより良いusortを好きです。 – swt83

関連する問題