まず第一に、私は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
誰かが私を助けることができますか?
ありがとうございました
次の方法で関数uksortを使用できると思います。
<?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]
コメントを追加