Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何对查询结果数组进行排序_Php_Arrays_Sorting - Fatal编程技术网

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);