如何对多维数组中的列进行排序



我想排序一个多维数组在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

多维数组排序由以下函数解析:

Array Multisort:
http://www.php.net/manual/en/function.array-multisort.php

作为高级提示,您可以通过设置要排序的维度来扩展它的使用,而将其他维度排除在外。使用输出更多作为索引来搜索您的数据。

手册可以提供足够的信息来根据我们的需要试用这个函数。但是,如果这不是您期望的结果,那么您需要创建自己的排序方法。然后你可以使用:

Usort:
http://www.php.net/manual/en/function.usort.php

Witch允许您创建自己的排序方法。您甚至可以这样扩展多重排序

相关内容

  • 没有找到相关文章

最新更新