所以我有这种情况。我有多个阵列它们是这样的:几周前的总结
$array('date'=>'00-00-00', 'value'=>'xx');
我想要做的是通过所有的阵列,使4个变量是什么:$week1, $week2, $week3, $week4
在那里我将存储依赖,如果它是1周前的累计值,2几周前,3周前或4周前从某个日期开始。
我试过的是这个,但它不起作用。虽然我有很多的日期,并且他们的价值观,它返回0的一切,名称只是占位,我不竟叫他们“阵”:
$date = 'xx-xx-xx';
$month = array();
$week1 = strtotime($date . '-1 week');
$week2 = strtotime($date . '-2 week');
$week3 = strtotime($date . '-3 week');
$week4 = strtotime($date . '-4 week');
foreach($arrays as $array){
if((date('W', strtotime($array['date']) == date('W', strtotime($week1)))) AND (date('Y', strtotime($array['date'])) == date('Y', strtotime($week1)))){
$month['week1'] += $array['value'];
}
if((date('W', strtotime($array['date']) == date('W', strtotime($week2)))) AND (date('Y', strtotime($array['date'])) == date('Y', strtotime($week2)))){
$month['week2'] += $array['value'];
}
if((date('W', strtotime($array['date']) == date('W', strtotime($week3)))) AND (date('Y', strtotime($array['date'])) == date('Y', strtotime($week3)))){
$month['week3'] += $array['value'];
}
if((date('W', strtotime($array['date']) == date('W', strtotime($week4)))) AND (date('Y', strtotime($array['date'])) == date('Y', strtotime($week4)))){
$month['week4'] += $array['value'];
}
}
return $month;
出于某种原因,我的代码不仅速度慢,而且现在不工作,我检查 – raygo
@raygo你读过Mike Brant的答案了吗?也许这是一个问题(尽管YYYY-mm-dd的日期应该很好)。另外,我会用'$ month = array('week1'=> 0,'week2'=> 0,'week3'=> 0,'week4'=> 0)初始化数组;' –
是我的$ date变量等于日期('Ym-d') – raygo