2009-05-11 10 views
0

私には次のものがありますか?PHP配列をソートしますか?

$array1 = array(); 

$array2 = array($Id, $Name, $Count); 

array_push($array1, $array2); 

$ countでarray1を並べ替える必要がありますか?

sort()ksort()私は何が必要なのですか?

アイデア?

おかげ

編集:

私はID番号、名前テキストと名前が発生する回数を入力環境ていますので、私は、配列の先頭に最高の数と名前を持つようにしたいです!!

+0

は、私は質問が混乱を見つけます。入力データがどのように表示されるか、最終結果はどのようなものにするかの例を追加できますか? –

答えて

2

uasort()を使用して、コールバック関数でソートします。例:

function sort_callback($a, $b) { 
    if ($a[2] == $b[2]) { 
     return 0; 
    } 

    return ($a[2] < $b[2]) ? -1 : 1; 
} 

uasort($array1, 'sort_callback'); 
1

私はあなたの質問を提示した方法で少し混乱しますが、このようなことをしようとしていますか?例えばので

function order_by($data, $field_name) { 

    $code = "return strnatcmp(\$a['$field_name'], \$b['$field_name']);"; 
    usort($data, create_function('$a,$b', $code)); 
    return $data; 

} 

、:

$array1 = array(); 
$array1[] = array('Id' => 1, 'Name' => 'YT', 'Count' => 30); 
$array1[] = array('Id' => 2, 'Name' => 'Da5id', 'Count' => 56); 
$array1[] = array('Id' => 3, 'Name' => 'Fido', 'Count' => 12); 
$array1[] = array('Id' => 4, 'Name' => 'Hiro', 'Count' => 45); 

echo "<pre>"; 
print_r($array1); 
echo "</pre>"; 

$array2 = order_by($array1, 'Count'); 

echo "<pre>"; 
print_r($array2); 
echo "</pre>"; 
関連する問題