【发布时间】:2016-09-12 22:07:50
【问题描述】:
在发布这篇文章之前,我已经完成了相当一部分的研究,现在我需要一个正确的方向。我有一个网络摄像机文件名列表。文件名是我需要排序的时间戳本身。我不知道如何对字符串名称上的日期进行排序。我想我需要将字符串转换为函数 strtotime() 的可读格式?或者有没有办法不改变字符串?我不知道如何正确解决这个问题。
我试过array_multisort($array, SORT_DESC, SORT_NUMERIC); 没有运气。
$array = Array ( 'SNAP_CH04_2016_05_15_18_11_05_62777.jpg', 'SNAP_CH01_2016_05_15_18_05_38_63588.jpg', 'SNAP_CH02_2016_05_15_18_05_13_38387.jpg', 'SNAP_CH04_2016_05_15_15_55_28_52502.jpg', 'SNAP_CH04_2016_05_15_14_52_46_26039.jpg', 'SNAP_CH03_2016_05_15_14_52_39_18421.jpg', 'SNAP_CH04_2016_05_15_14_51_34_19005.jpg', 'SNAP_CH02_2016_05_15_14_51_25_9874.jpg', 'SNAP_CH04_2016_05_15_06_12_49_23707.jpg', 'SNAP_CH04_2016_05_15_05_03_09_38176.jpg', 'SNAP_CH04_2016_05_15_03_33_27_29791.jpg', 'SNAP_CH03_2016_05_15_01_59_29_27941.jpg' );
感谢任何建议。努力学习。
【问题讨论】:
-
是否必须按文件名(包括 SNAP_CH04...)或仅按时间戳部分排序?如果只是文件名,您应该可以使用
sort($array)或natsort($array) -
需要按时间戳部分排序。
-
那你可能需要查看
usort() -
natsort($array)将不起作用,因为我不希望 SNAP_CH04... 排序。自然排序倾向于对频道编号进行排序。
标签: php arrays sorting timestamp