php中的DatePeriod> 5.3.0和< 5.3.3

时间:2013-11-18 09:34:01

标签: php date php-5.3 period

我可以在php< = 5.3.3中重置句点对象吗? 我想在foreach中使用相同的句点对象

<?php

$start = new DateTime('2013-10-01');
$end = new DateTime('2013-10-02');
$period = new DatePeriod($start, new DateInterval('P1D'), $end);

foreach ($period as $p) {
    var_dump($p);
}

reset($period);

foreach ($period as $p) {
    var_dump($p);
}

Demo

1 个答案:

答案 0 :(得分:4)

您可以使用函数 iterator_to_array() PHP&gt; = 5.1.0 ,将迭代器的元素复制到数组中。然后你可以多次使用这个数组。

// ...
$period = new DatePeriod($start, new DateInterval('P1D'), $end);
$periods = iterator_to_array($period);
// ...

<强> Demo