【发布时间】:2011-06-08 09:22:43
【问题描述】:
我在排序多维数组时遇到问题。
数组看起来像:
$数组 = 数组( 数组(“令牌” => 数组(100、240、348、23、17), 数组(“令牌” => 数组(293、28、283、2、28), 数组(“令牌”=> 数组(842、23、72、98、114) );现在我想按“列”对它们进行排序。这意味着,必须对第一列数字(100、293、842)进行排序,然后是第二列(但保持第一列不变!可能会发生列具有相同数字且多行)等等.
其实我试过用 usort() 来做这个,但这仅在对第一列进行排序时才有效:
function do_sort($a, $b) {
$tok_a = $a["token"];
$tok_b = $b["token"];
if ($tok_a[0] <= $tok_b[0])
return false;
else
return true;
}
usort($array, "do_sort");
我该怎么做?谢谢
【问题讨论】:
-
你能在你的问题中添加预期的输出吗?
-
预期的输出确实不错。否则我会推荐阅读
array_multisortde.php.net/manual/de/function.array-multisort.php 的文档——也许这就是你要找的。span>