【发布时间】:2015-02-09 10:09:39
【问题描述】:
我有以下数组,其中包含星期几 (0-6) 和以小时、分钟和秒为单位的时间:
$times = array( array("1","10:04:00"),
array("1","14:20:00"),
array("1","20:30:00"),
array("1","22:22:00"),
array("2","10:14:00"),
array("2","14:36:00"),
array("2","20:12:00"),
array("2","22:42:00"),
array("3","12:04:00"),
array("3","15:20:00"),
array("3","21:30:00"),
array("4","23:22:00"),
array("4","09:04:00"),
array("4","12:20:00"),
array("4","19:30:00"),
array("4","22:32:00"),
array("5","13:04:00"),
array("5","16:20:00"),
array("5","20:10:00"),
array("5","22:02:00")
);
如何循环上述内容并确定活动的下一个日期? 例如,如果今天是星期二,则上述数组中的前几个日期将是:
下周一 10:04:00 下周一 14:20:00 下周一 20:30:00 下周一 22:22:00 今天 10:14:00 今天 14:36:00 等等……
一旦循环到达上述数组的末尾,它将循环回到开头,因此需要计算出未来的日期。日期和时间需要转换为 unix 日期时间。
这是目前为止的脚本:
$row = 1;
if (($handle = fopen("evergreen.csv", "r")) !== FALSE) {
$loopy = 0;
$thisWeek = date("W");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if(!isset($times[$loopy])) {$loopy = 0;}
$dayoftheweek = $times[$loopy][0];
$thetime = $times[$loopy][1];
echo "Day: $dayoftheweek - The time: $thetime<br />";
// How can I work out the next date and time to post from this?
$loopy++;
}
fclose($handle);
}
我不知道如何实现上述目标。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
只需编写一个函数并在数组中循环,这没什么大不了的。
-
是的,循环很简单。它将星期几和时间转换为 unix 日期,无论是在过去还是将来,它都可以工作。我会在问题中更清楚地说明这一点。