我正在一个网站上,用户可以每隔X天创建一些事件(其中X是一周中某一天的名字)。然后,他需要输入他想要在未来创建的事件数量。
例如,用户选择每周一和周二,并决定创建150个事件。
这是我到目前为止所做的代码:
// Init the date counter
$cpt_date_found = 0;
// Number of date to find
$rec_occ = 150;
// Init an ending date far in the future
$endDate = strtotime('+10 years', time());
// Loop over the weeks
for($i = strtotime('Monday', strtotime(date("d.m.Y"))); $i <= $endDate; $i = strtotime('+1 week', $i)) {
// -- Monday date found, create the event in the database
$cpt_date_found++;
// Break the loop if we have enough dates found
if($cpt_date_found == $rec_occ) {
break;
}
}
此代码查找将来每个星期一的日期,并在达到用户指定的出现次数后中断循环。
我已经输入了将来的结束日期,以确保我可以在用户指定的出现次数结束之前中断循环。
首先,我不确定我的代码的“质量”......我知道打破循环不是最好的主意,我想知道另一种解决方案是否更符合我的需求。
然后,如果用户指定了几天(假设是星期一,星期二和星期五),而不是重复循环次数,是否有办法在每个提供的日期循环一次?
谢谢!
答案 0 :(得分:0)
以下代码将循环5年。对于这5年中的每个星期,它将生成包含该周每天的<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div lang="fa">0123456789</div>
。它会将您的预设数组中的每一天与您要查找的天数进行比较。然后,您可以生成您的事件,之后代码将倒计时一定次数。如果计数器达到零,你就完成了。
DatePeriod