首先按值排序数组,然后按键排序

时间:2016-03-31 10:28:53

标签: php

我想首先按值排序这个键值数组,然后按键。

这是数组:

$a = [
    10 => 1,
    4 => 2,
    3 => 2
];

我想得到:

4 => 2,
3 => 2,
10 => 1

我尝试使用arsort,但无法获得当前答案。

1 个答案:

答案 0 :(得分:0)

使用public static void main(String[] arg){ FileSystems.getDefault(); } 按键排序,使用这些键查找数组中的值,首先按值进行比较,然后按平均值进行比较:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at sun.nio.fs.WindowsFileSystem.<init>(WindowsFileSystem.java:67)
    at sun.nio.fs.WindowsFileSystemProvider.<init>(WindowsFileSystemProvider.java:53)
    at sun.nio.fs.DefaultFileSystemProvider.create(DefaultFileSystemProvider.java:36)
    at java.nio.file.FileSystems$DefaultFileSystemHolder.getDefaultProvider(FileSystems.java:108)
    at java.nio.file.FileSystems$DefaultFileSystemHolder.access$000(FileSystems.java:89)
    at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:98)
    at java.nio.file.FileSystems$DefaultFileSystemHolder$1.run(FileSystems.java:96)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.nio.file.FileSystems$DefaultFileSystemHolder.defaultFileSystem(FileSystems.java:96)
    at java.nio.file.FileSystems$DefaultFileSystemHolder.<clinit>(FileSystems.java:90)
    at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
    at com.yy.ent.test.Test1.main(Test1.java:26)
Caused by: java.nio.charset.UnsupportedCharsetException: GBK
    at java.nio.charset.Charset.forName(Charset.java:531)
    at sun.nio.fs.Util.<clinit>(Util.java:41)
    ... 12 more

有关排序回调的更深入说明,请参阅https://stackoverflow.com/a/17364128/476