Php 按键对数组进行数字排序

Php 按键对数组进行数字排序,php,arrays,array-key,ksort,Php,Arrays,Array Key,Ksort,我想对数组进行数字排序,即188、188-1、188-2、222、222-1、222、-2等。这是数组当前的外观: [188-1] => Array ( [time] => 1 ) [188-2] => Array ( [time] => 2 ) [188-3] => Array ( [time] => 3 ) [188] => Array (

我想对数组进行数字排序,即188、188-1、188-2、222、222-1、222、-2等。这是数组当前的外观:

[188-1] => Array
    (
        [time] => 1
    )

[188-2] => Array
    (
        [time] => 2
    )

[188-3] => Array
    (
        [time] => 3
    )

[188] => Array
    (
        [notes] => frog stand notes
    )

[489] => Array
    (
        [notes] => notes
    )

[489-1] => Array
    (
        [weight] => 10
        [reps] => 30
    )

[489-2] => Array
    (
        [weight] => 20
        [reps] => 30
    )

[489-3] => Array
    (
        [weight] => 30
        [reps] => 30
    )

[492-1] => Array
    (
        [weight] => 500
        [distance] => 100000
    )

[492] => Array
    (
        [notes] => more notes
    )
我尝试了ksort,
ksort($sorted,SORT\u DESC),但它不能很好地与连字符键配合使用,除非我做错了什么?

您可以将与用作比较函数:

uksort($array, 'strnatcmp');
您可以查看: