2010-08-27 84 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