2010-08-27 104 views
0

我有一個數組與常規表從查詢的結果,例如:如何排序查詢結果陣列

id | Name | Department | Location | Email | Phone | Type | ..........and so on 

我有一個查詢陣列的結果,我可以得到排序默認查詢,但我希望能夠根據需要使用該陣列,而無需從服務器重新讀取數據,以減少流量/速度。

是否有確實是這樣我就可以去像一個本地函數:

sort(array by department ascending) 
display array in nice format 

任何想法?

+0

你能提供一個'的var_dump()'或者你正在使用的陣列的'的print_r()'?這將有助於瞭解陣列的結構。 – js1568 2010-08-27 15:33:02

+1

爲什麼不對查詢中的結果進行排序?或者這是什麼問題? – Gumbo 2010-08-27 15:33:57

+0

我認爲他不希望再次使用查詢以其他方式對其進行排序,因爲他說他不想再次向服務器發送請求,以便使用其他條件進行排序。 – Sarfraz 2010-08-27 15:34:48

回答

1

您可以這樣排序它(因爲它是一個關聯數組):

function cmp($a, $b) 
{ 
    return strcmp($a['department'], $b['department']); 
} 

usort($your_array, "cmp") 
print_r($your_array); 
+0

嗨,我正在考慮類似的東西,但我還需要通過一個變量來排序它,例如名稱,部門,日期等 這是我到目前爲止: function sortArray($通過){ \t function sort_items($ a,$ b,$ by){ \t \t return strnatcmp($ a ['$'',$ b ['$''')); \t}} ,但我不知道如何以$由元素(名稱,類型等) – Mankind1023 2010-08-27 15:46:08

+0

@Murtez傳:刪除單引號,從'$ by'嘗試這樣的:'$ A [ $ by],$ b [$ by]' – Sarfraz 2010-08-27 15:55:22

+0

但是我怎樣才能通過$ by變量呢? – Mankind1023 2010-08-27 16:16:19