按最低目录(结束子字符串)对目录路径字符串数组进行排序

pdu*_*ker 1 php arrays sorting path basename

我想按年份对这个数组进行排序:

Array
(
    [0] => data/pictures/alice/1980
    [1] => data/pictures/alice/1985
    [2] => data/pictures/bob/1981
    [3] => data/pictures/bob/1985
    [4] => data/pictures/bob/1987
    [5] => data/pictures/bob/1989
)
Run Code Online (Sandbox Code Playgroud)

预期结果:

Array
(
    [0] => data/pictures/alice/1980
    [1] => data/pictures/bob/1981
    [2] => data/pictures/alice/1985
    [3] => data/pictures/bob/1985
    [4] => data/pictures/bob/1987
    [5] => data/pictures/bob/1989
)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过不同的排序功能但没有成功。

例子:

asort($paths, SORT_STRING | SORT_FLAG_CASE);

sort($path, SORT_NUMERIC);
Run Code Online (Sandbox Code Playgroud)

Abr*_*ver 5

由于它是一条路径,只需映射数组basename(),然后基于该路径进行排序:

array_multisort(array_map('basename', $paths), SORT_ASC, $paths);
Run Code Online (Sandbox Code Playgroud)