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)
由于它是一条路径,只需映射数组basename(),然后基于该路径进行排序:
array_multisort(array_map('basename', $paths), SORT_ASC, $paths);
Run Code Online (Sandbox Code Playgroud)