我知道这个标题看起来很奇怪,但这正是我遇到的情况
我创建了一个函数,它需要DateTime和integer并返回日期的array,这是我的代码:
public static function generateAfterDate(\DateTime $from, $number){
$days = array();
array_push($days, $from);
for($i = 1; $i <= $number; $i++){
$from = $from->modify('+1 day');
$days[] = $from;
var_dump($days[$i]->format('d/m/Y'));//---The first var_dump
}
foreach ($days as $day){
var_dump($day->format('d/m/Y'));//--The second var_dump
}
die;
return $days;
}
generateAfterDate(new \DateTime(), 7);正如你所看到的,我将同一个数组用于var_dump数据,并得到两个不同的结果:
第一个给了我这个:
string(10) "22/10/2017" string(10) "23/10/2017" string(10) "24/10/2017" string(10) "25/10/2017" string(10) "26/10/2017" string(10) "27/10/2017" string(10) "28/10/2017"第二个给了我这个结果:
string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017" string(10) "28/10/2017"有人可以解释这个吗?