【发布时间】:2012-10-26 13:51:32
【问题描述】:
我在 php 中有 3 列的多维数组。我需要按“awarded_units”对其进行排序,如果两个用户有相同的奖励_units(tiebreaker),那么选择最少的一个将首先出现。
user_id awarded_units selected_units
15 5 2
22 5 1
3 4 2
4 4 5
5 4 1
如您所见,我已经使用了一些多维排序函数,基于award_units 对数组进行了排序。现在,我需要解决决胜局条件。由于 user_id=15 和 user_id=22 有相同的奖励单位,所以 user_id 22 必须排在第一位。
正确的顺序是
user_id awarded_units selected_units
22 5 1
15 5 2
5 4 1
3 4 2
4 4 5
请告诉我该怎么做。谢谢
【问题讨论】:
-
在发帖之前,您是否查看过数组排序? php.net/manual/en/array.sorting.php
-
PS:您是自己创建阵列还是从数据库接收阵列?
-
特别是请参阅 PHP 手册中的 Example #3 Sorting database results 以获取
array_multisort条目 - 如果您需要在 PHP 中解决该问题。你还没有发布你的数组,所以这可能会略有不同。 -
我曾为此尝试过 usort,但无法做到。
-
@PriteshGupta:嗯,有多个副本。邀请您进行搜索。你甚至可以尝试和错误如此多的重复项。这甚至可以通过不了解任何一行 PHP 来实现。提示:在数据库中排序,速度更快,根本不需要任何PHP代码。
标签: php sorting multidimensional-array