我正在尝试对一个包含小数值的多维数组进行排序。根据我的测试,浮点数在正确排序时遇到了问题。
Array
(
[0] => Array
(
[company] => Ebay
[weight] => 4.6
)
[1] => Array
(
[company] => Ebay
[weight] => 1.7
)
[2] => Array
(
[company] => Ebay
[weight] => 3.7
)
)
usort($array, 'order_by_weight');
// Sorts DESC highest first
function order_by_weight($a, $b) {
return $b['weight'] - $a['weight'];
}
按降序排列这些数字的最佳方法是什么?
5条答案
按热度按时间elcex8rz1#
PS:这不是什么高深的科学--这个“技巧”在http://php.net/usort中被用作第一个例子
r1wp621o2#
您可以在一行中使用anonymous函数完成此操作
希望这有帮助:)
bprjcwpo3#
你可以使用array_multisort对数组进行排序,尽管它经常被用来对多个数组值而不是一个数组值进行排序。
czfnxgou4#
如果有人想要一个更简洁的代码,特别是处理等于条件时,可以在@zerkms的解之前添加if条件
使用
ceil
将向上舍入分数并正确排序十进制数s71maibg5#
作为排序算法,这里是一个很好的例子,排序多维数组,而不使用任何更多的内置php函数
分拣功能:
:输出: