jda*_*awg 6 php arrays sorting
例如,如果您有一组数字,5,4,3,2,1并且您希望所有数字排序最接近3,那么结果就是3,2,4,5,1.
我已经尝试使用uasort并编写了一个自定义排序函数来获取固定数字(在这种情况下为3),但它不起作用.我写了一个函数,使得固定数字远离当前被比较的两位数并应用于abs它们.
我需要一种方法,我可以比较哪个数字的比较当前访问的数量是多少,并将其插入数组中的正确位置.
有任何想法吗?这可以用uasort?
uasort()已经是一个好的开始.现在你只需要使用距离为3作为标准来对数组进行排序:
number | 0 | 1 | 2 | 3 | 4 | 5 | 6 | --------------------------------------- distance | 3 | 2 | 1 | 0 | 1 | 2 | 3 |
码:
uasort($arr, function($a, $b){
return abs(3-$a) - abs(3-$b);
});
Run Code Online (Sandbox Code Playgroud)