用PHP填充带有特定日期的下拉列表


PHP to populate drop down list with specific dates

我想在一个表单中填充一个下拉列表,其中包含接下来4个星期五和星期六的日期。这是为某种预订系统准备的。我想我应该使用strtotime函数。但是,我想订购这个下拉菜单,这样,如果用户在星期六尝试操作,第一个星期六选项将首先显示。我想用填充菜单

strtotime('friday');
strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');

但很明显,如果在周六使用,这是行不通的。(即,下星期五将显示在当前星期六的上方)。有人能提出绕过这个问题的方法吗?

很抱歉,如果这个问题杂乱无章,但这是漫长的一天:p

编辑:为了澄清,我正在寻找一种自动将列表排序更改为的方法

strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');
strtotime('+4 weeks friday');

如果用户在星期六运行脚本。(即在列表中保留8个项目,第一个项目是下一个可用日期)。

我假设这个字符串正在被传递给strtotime()?

不要用"下周五"answers"下周六"。说"下周五"总是会让你在今天之后的下周五。只需使用"friday",如果今天是星期五,则返回与"today"相同的值,否则返回与"next friday"相同。

要获得接下来的四个星期五和星期六,请执行以下操作:

strtotime('friday');
strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');