2013-07-16 25 views

回答

1

我遇到了一些麻煩正好破譯你的意思是用什麼的問題,但這裏一對夫婦認爲,可能爲你工作。

如果你的陣列是由像

array(
     array("id"=>1, "views"=>50), 
     array("id"=>3, "views"=>16) 
); 

然後你可以使用usort與閉合(PHP 5.3)

usort($news, function ($a, $b){ return $a["views"] - $b["views"]}); 

,如果你想在降序你可以交換$一個和$ b在封閉

usort($news, function ($a, $b){ return $b["views"] - $a["views"]}); 

如果你有一個由像

數組
array(
    "id"=>array(1,2), 
    "views"=>array(50, 16) 
); 

然後你可以使用array_multisort

array_multisort($news["views"], $news["id"]); 

,或者如果你想讓它按降序排列

array_multisort($news["views"], SORT_DESC, SORT_NUMERIC, $news["id"]); 

UPDATE

最終的解決方案。新聞是與對象一個views和id數組屬性。最終的解決方案是:

array_multisort($news->views, $news->id); 
+0

它返回相關聯的對象給出「。而我爲我迷惑的問題不好意思,那是因爲我不是以英語爲母語:/ –

+0

我有第一種情況下,但它返回錯誤「usort()預計參數1是陣列: –

+0

消息是不是一個數組,那麼......你也許可以用它轉換爲一個'(陣列)$新聞' – Orangepill

相關問題