2013-07-27 87 views
0

我在這種形式的數組:如何在PHP中對多維數組中的項目進行排序?

$parray[]=array('item_id'=>$rs->fields['item_id'], 
       'item_name'=>$rs->fields['item_name'], 
       'item_count' =>$cs->fields['item_count'], 
       'item_link'=>$rs->fields['item_link']); 

和在一個循環我設置的值。所以,我有他們在$ parray [0],$ parray [1] ...

現在,我該如何排序此item_count數組?

例如:

$parray[0] = 0, "hello", 5, www.abc.abc 
$parray[1] = 1, "hello2", 7, www.abc.abcab 
$parray[2] = 2, "hello1", 8, www.abc.abca 
$parray[3] = 3, "hello3", 2, www.abc.abcaaa 

結果應該是

$parray[0] = 2, "hello1", 8, www.abc.abca 
$parray[1] = 0, "hello", 5, www.abc.abc 
$parray[2] = 1, "hello2", 3, www.abc.abcab 
$parray[3] = 3, "hello3", 2, www.abc.abcaaa 

我如何管理的?

感謝

+0

[參考:所有的基本方式在PHP陣列和數據整理]的可能重複(http://stackoverflow.com/questions/17364127 /參考所有鹼性-方式對排序陣列和數據功能於PHP) – deceze

回答

1
usort($parray, function ($a, $b){ 
    return $b['item_count'] - $a['item_count']; 
}); 
print_r($parray); 

這裏的另一種方法:

$sub = array(); 
foreach ($parray as $item) { 
    $sub[] = $item['item_count']; 
} 
array_multisort($sub, SORT_DESC, $parray); 
print_r($parray); 
相關問題