我陣列表演的名字是這樣的:PHP數組排序兩次
$shows = array('morning_show_15_02_2014_part2.mp3',
'morning_show_15_02_2014_part1.mp3',
'morning_show_14_02_2014_part2.mp3',
'morning_show_14_02_2014_part1.mp3',
'morning_show_13_02_2014_part2.mp3',
'morning_show_13_02_2014_part1.mp3');
所以名單看起來像: morning_show_15_02_2014_part2.mp3 morning_show_15_02_2014_part1.mp3 morning_show_14_02_2014_part2.mp3 morning_show_14_02_2014_part1.mp3 morning_show_13_02_2014_part2.mp3 morning_show_13_02_2014_part1.mp3
這是我所得到的,當我循環的目錄。
不過這個名單應該是這樣的: morning_show_15_02_2014_part1.mp3 morning_show_15_02_2014_part2.mp3 morning_show_14_02_2014_part1.mp3 morning_show_14_02_2014_part2.mp3 morning_show_13_02_2014_part1.mp3 morning_show_13_02_2014_part2.mp3
還是按日期排序,但是第1部分是第一,然後是第2部分
我怎麼能得到這個列表進入正確的順序?
謝謝你的幫助!
你的問題是,你想通過日期降序和部分升序來訂購。唯一的機會就是在解析文件名的自定義排序函數中做到這一點。看看[usort](http://php.net/manual/en/function.usort.php) – SBH 2014-09-19 10:45:35