[英]Error in adding to 2d array or looping through 2d array
I have a problem in this code: 我在此代码中有问题:
while ($end <= $to){
$currentDates = array("from" => $start, "to"=>$end);
$allDates[] = $currentDates;
echo 'from: ', $currentDates["from"]->format("m-d-y"),'<br>';
unset($currentDates);
$start->add($intervalObj);
$end->add($intervalObj);
}
var_dump($allDates);
the echo in the loop shows the correct values but vardump shows the last dates to be added to the array in all the positions of the array 循环中的回显显示了正确的值,但vardump显示了数组所有位置上要添加到数组的最后日期
I don't think you need 2 loops for that .... 我认为您不需要2个循环....
The error is from your loop 错误来自您的循环
while ($end <= $to){
^------- This was never used
Also See 另请参阅
$currentDates = array("from" => $start, "to"=>$end);
Not in the Condition --^ ^---- To means something else
You while can be as simple as 你虽然可以简单
$start = new DateTime("2012-4-12");
$end = new DateTime("2012-12-12");
$dv = new DateInterval('P24D'); // Every 24 days
echo "<pre>";
while ( $start <= $end ) {
echo "From ", $start->format('Y-m-d');
$start->add($dv);
echo " To ", $start->format('Y-m-d'), PHP_EOL;
}
Output 输出量
From 2012-04-12 To 2012-05-06
From 2012-05-06 To 2012-05-30
From 2012-05-30 To 2012-06-23
From 2012-06-23 To 2012-07-17
From 2012-07-17 To 2012-08-10
From 2012-08-10 To 2012-09-03
From 2012-09-03 To 2012-09-27
From 2012-09-27 To 2012-10-21
From 2012-10-21 To 2012-11-14
From 2012-11-14 To 2012-12-08
From 2012-12-08 To 2013-01-01
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.