【发布时间】:2015-11-28 09:50:53
【问题描述】:
我有一个数组,其中包含另一个数组,其中包含距离和 ID。我需要对数组的距离部分进行排序,因此 ID 仍然与其各自的距离相关。
例如。
array
(
[0] => array(
[0] => 170
[1] => 123abc
)
[1] => array(
[0] => 150
[1] => 456def
)
)
现在,我想对距离进行升序排序,这样排序后的输出将如下所示:
array
(
[0] => array(
[0] => 150
[1] => 456def
)
[1] => array(
[0] => 170
[1] => 123abc
)
)
由于 150 小于 170,因此它“上移”了。
我已经查看了 PHP 函数; array_multisort() 等但是这些似乎只对数组中的值进行排序,而不是对一组数组进行排序。
任何帮助表示赞赏。
编辑: 第一个数组中没有固定数量的项目 - 它的范围从 1 到无穷大。
【问题讨论】:
-
你可以试试
array_map(),它将对父数组中的每个数组进行排序。 -
如果可以简单地使用
usort或uasort,为什么还要使用array_map -
对不起,我应该说可以有超过两个“组”距离和 id 值。我认为在这种情况下使用
usort是不可行的。 -
@RyanVincent 对不起 - 是的,确实有效。我假设
usort仅适用于嵌套数组。在此处粘贴:pastebin.com/XwCNPaMN
标签: php arrays sorting multidimensional-array