【发布时间】:2014-12-12 22:15:44
【问题描述】:
我在处理PHP 中的一段代码时遇到了很多困难。我有一个日期和值的数组,例如
dates = (2014-12-01,2014-12-02,2014-12-08,2014-12-09,2014-12-10,2014-12-11)
values = (5,3,7,8,9,2)
您会注意到12/01 是星期一,12/08 也是如此。我想从这两个数组中形成 4 个数组:
monday = (5,7)
tuesday = (3,8)
wednesday = (0,9)
thursday = (0,2)
您会注意到,数组是通过抓取与星期几相关的值形成的。但是,如果存在星期三日期,但前一个星期二不存在,则数组应该有一个“0”。也就是说,这4个数组的长度应该都是一样的。
谁能帮我用 PHP 编写代码来实现这一点?提前致谢!
注意:到目前为止,我只确定了如何从日期中找到星期几:date('l', strtotime("2014-12-08")); 我实在想不出解决这个问题的通用算法。 p>
【问题讨论】:
-
你尝试了吗?看到它会很有帮助。
-
解释不清楚
-
通用算法:遍历
date数组。对于每个日期的键/值,确定星期几。将values数组中相同键的值添加到键对应于星期几的数组中。 -
@showdev 非常感谢您的想法。不过,我有点困惑。你认为你可以编写 php 代码来做到这一点吗?例如,当遇到“星期一”然后下一个日期也是“星期一”时会发生什么。看起来比你写的要复杂。
-
您可以附加到“周”数组:
$weekdays[$day_of_week][]=$values[$dates_key];对不起,我不想写所有的代码——没什么私人的。但是,如果您尝试并遇到问题,SO 社区将帮助您对代码进行故障排除。