也许我因为树木而没有看到森林,但这就是我所面对的:
$week_start = new Carbon();
$week_start->setISODate($year,$week); //2016 , 21
$init = $week_start; //I am assigning the datetime created to $init variable (1)
$min_sqldate = $week_start->toDateString(); //string of date
$max_sqldate = $week_start->addDays(6)->toDateString(); //string of date adding 6 days
此时$init
变量的值已为$max_sqldate
。 (2)
这怎么可能?我应该如何保留我的初始变量,以便以后可以使用它?
案例(1)中$init
的值:
Carbon {#328 ▼
+"date": "2016-05-23 16:58:36.000000"
+"timezone_type": 3
+"timezone": "Europe/Helsinki"
}
案例(2)中$init
的值:
Carbon {#328 ▼
+"date": "2016-05-29 17:00:34.000000"
+"timezone_type": 3
+"timezone": "Europe/Helsinki"
}
答案 0 :(得分:2)
Carbon提供了copy()
方法,它将返回实例的“新”副本,例如
$init = $week_start->copy();
默认情况下,在PHP中,使用equals复制对象时,您不会得到独立的副本。您也可以使用clone
关键字解决此问题。