我想在php中对多维数组进行排序,就像在电子表格中对列进行排序一样。 我需要能够选择一个开始和停止列,并且可选地,如果列的“子”被排序。我不确定如何正确解释这一点,所以我尝试一个例子。
我可以使用标准PHP函数执行此操作,还是需要自己编写?如果是后者,我会很感激现在有所帮助。
-------------0------1-------2--- (dimensions)
$someArray[$col1][$col22][$col3];
col1 col2 col3:
a 1 w
c 5 x
b 2 y
d 3 z
unknownSortFunction($someArray, 0, 1, $link=0) // Sort col1 first and then col2 leave col3 (and any "childs") "linked" to column 2.
expected results:
col1 col2 col3
a 1 w
b 2 y
c 3 z
d 5 x
我希望能够在不将col3“链接”到col2的情况下排序,例如:
col1 col2 col3
a 1 w
b 2 x
c 3 y
d 5 z
答案 0 :(得分:0)
多维数组排序由php中的此函数解析:
Array Multisort:
http://www.php.net/manual/en/function.array-multisort.php
作为高级提示,您可以通过设置要排序的女巫尺寸来扩展其使用范围,而将另一个留出。将输出更多地用作搜索数据的索引。
本手册可提供足够的信息以根据我们的需求试用此功能。但是,如果这不是您期望的结果,则需要创建自己的排序排序方法。然后你可以使用:
Usort:
http://www.php.net/manual/en/function.usort.php
Witch让您创建自己的排序方法。您甚至可以通过这种方式扩展多重排序。