Php 如何对查询结果数组进行排序
我有一个数组,其中包含来自常规表的查询结果,例如:Php 如何对查询结果数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,我有一个数组,其中包含来自常规表的查询结果,例如: id | Name | Department | Location | Email | Phone | Type | ..........and so on 我有查询数组中的结果,我可以对默认查询进行排序,但我希望能够根据需要使用该数组,而不必不断从服务器重新读取数据,以减少流量/加快速度 是否有一个本机函数可以这样做,我可以这样做: sort(array by department ascending) display array in n
id | Name | Department | Location | Email | Phone | Type | ..........and so on
我有查询数组中的结果,我可以对默认查询进行排序,但我希望能够根据需要使用该数组,而不必不断从服务器重新读取数据,以减少流量/加快速度
是否有一个本机函数可以这样做,我可以这样做:
sort(array by department ascending)
display array in nice format
有什么想法吗?您可以这样排序(因为它是一个关联数组):
您可以使用array_multisort(),但需要根据需要进行更多处理
查看一下您能否提供您正在使用的阵列的
var\u dump()
或print\r()
?了解数组的结构会有帮助。为什么不在查询中对结果进行排序呢?或者这到底是什么查询?我想他不想再次使用该查询以其他方式对其进行排序,因为他说他不想再次向服务器发出请求以使用其他条件进行排序。下面是一个示例:数组([0]=>3[id]=>3[1]=>Mike[rep]=>Mike[2]=>Joe[name]=>Joe[3]=>Business[department]=>Business[4]=>房间1[位置]=>房间1[5]=>Joe@compudatasystems.ca[电子邮件]=>Joe@compudatasystems.ca[6]=>5196525664[电话]=>5196525664[7]=>Visit[类型]=>Visit[8]=>Coke[饮料]=>Coke[9]=>在Compudata中工作[notes]=>Compudata中工作[10]=>0000-00-00[上次访问]=>0000-00-00[11]=>2010-08-27[下一次访问]=>2010-08-27)如何使我的代码示例看起来像注释中的代码?您好,我正在考虑类似的事情,但我还需要传入一个变量来对其进行排序,例如名称、部门、日期等。以下是迄今为止我所拥有的:函数sortArray($by){function sort_items($a,$b,$by){return strnatcmp($a['$by'],$b['$by']);}但是我不知道如何传入$by元素(名称、类型等)@Murtez:从$by
中删除单引号,尝试如下:$a[$by],$b[$by]
我如何传入$by变量?
function cmp($a, $b)
{
return strcmp($a['department'], $b['department']);
}
usort($your_array, "cmp")
print_r($your_array);