对 PHP 中的多小数数组进行排序
Sorting a MultiDecimal Array in PHP
我正在尝试使用 multiDecimal
对数组进行排序
到目前为止我有一个数组:
Array (
[0] => Array ( [0] => 2, [1] => 20 )
[1] => Array ( [0] => 3, [1] => 30 )
)
我想做的是像这样对它们进行排序:
Array (
[0] => Array ( [0] => 3, [1] => 30 )
[1] => Array ( [0] => 2, [1] => 20 )
)
我正在查看 Whosebug,它有很多使用 usort 或 uasort 的示例,但我发现该示例完全针对该问题,并且没有足够的评论来解释其用法。
如果有人能帮助我,我将不胜感激。
usort
功能最适合您。
只需将此函数作为回调传递:
$sorter = function($leftArray, $rightArray) {
if ($leftArray[1] == $rightArray[1]) {
return 0;
}
if ($leftArray[1] > $rightArray[1]) {
return 1;
}
return -1;
}
我假设您想按索引 1 的值排序。如果不是,只需更改索引。
我正在尝试使用 multiDecimal
对数组进行排序到目前为止我有一个数组:
Array (
[0] => Array ( [0] => 2, [1] => 20 )
[1] => Array ( [0] => 3, [1] => 30 )
)
我想做的是像这样对它们进行排序:
Array (
[0] => Array ( [0] => 3, [1] => 30 )
[1] => Array ( [0] => 2, [1] => 20 )
)
我正在查看 Whosebug,它有很多使用 usort 或 uasort 的示例,但我发现该示例完全针对该问题,并且没有足够的评论来解释其用法。
如果有人能帮助我,我将不胜感激。
usort
功能最适合您。
只需将此函数作为回调传递:
$sorter = function($leftArray, $rightArray) {
if ($leftArray[1] == $rightArray[1]) {
return 0;
}
if ($leftArray[1] > $rightArray[1]) {
return 1;
}
return -1;
}
我假设您想按索引 1 的值排序。如果不是,只需更改索引。