【发布时间】:2014-05-23 06:23:08
【问题描述】:
我有一个数组形式:
$sortme = array(
'Monday 10:00',
'Friday 12:00',
'Tuesday 14:00',
'Monday 08:00',
'Wednesday 11:00',
);
元素的数量是未知的(所以我不能使用带有参考数组的 uksort 方法来获取工作日顺序as Mark suggested here)。我希望结果按时间顺序排序,并且总是从星期一开始,如下所示:
$sorted = array(
'Monday 08:00',
'Monday 10:00',
'Tuesday 14:00',
'Wednesday 11:00',
'Friday 12:00',
);
有没有一种优雅的方法可以做到这一点,而无需将数组转换为二维数组并进行迭代?到目前为止,这将是我唯一的想法。
【问题讨论】:
-
困难的部分是告诉 PHP 它们是同一周的所有日子。您没有关于那些日子的上下文,因此 PHP 将使用 next 可用的日子。所以排序这只会在周末工作。 codepad.viper-7.com/vBBeFt。但是这段代码可以修改得更智能。希望对您有所帮助。
-
“优雅”是什么意思。我不认为 1 线是可行的,但 10 线功能会起作用。
-
Michael,也许“最佳实践方法”比优雅更合适。
-
@MichaelVilleneuve:接受挑战(1 班轮)。