首先,我是php新手。我需要对数组进行排序的帮助。
我有这样的ID和邮政编码数组:
Array (
[2286] => 3150-259
[2284] => 3040-256
[2282] => 5430-659
[2280] => 2560-270
[2278] => 3740-271
[2276] => 2495-401 ... and so on
)
现在我有一个数字,可以说“ 2900”,我想从最接近的数字(2900)到最远的数字对我的数组进行排序。
示例:数字为2900。因此,数组应如下所示排序:
Array (
[2284] => 3040-256
[2286] => 3150-259
[2280] => 2560-270
[2276] => 2495-401
[2282] => 5430-659 ... and so on
有人能帮我吗?
谢谢
<?php
$arr = [
2286 => "3150-259",
2284 => "3040-256",
2282 => "5430-659",
2280 => "2560-270",
2278 => "3740-271",
2276 => "2495-401",
];
$n = 2900;
uksort($arr, function ($a, $b) use ($n) {
return (abs($a-$n) >= abs($b-$n)) ? 1 : -1;
});
var_export($arr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句