【发布时间】:2013-01-22 22:47:42
【问题描述】:
我有一个数组,其中列出了一天中的所有时间,0-23 如下所示:
[0] = 0 [1] = 1 [2] = 2 .... etc
然后我使用 date('G') 查找当前小时,例如 17。
我想要做的是重新排序我的数组,使其从下一个小时开始,18,然后是 19、20、21、22、23、0、1、2.. 等
最好的方法是什么?我正在将此数组提供给一个图表,该图表显示一段时间内的数据,并按此顺序排列确实会让事情变得更容易。
【问题讨论】:
-
你在那个时间拼接它,然后把它移到前面。
-
您正在尝试旋转一个数组。就是这样称呼的。见stackoverflow.com/questions/5601707/php-rotate-an-array
-
你需要初始数组做什么?找到当前小时,然后直接生成你需要的最终数组。
$result = array_merge(range($currentHour, 23), $currentHour ? range(0, $currentHour - 1) : array())