碳初始日期值

时间:2016-05-27 13:45:08

标签: php laravel-5.2 php-carbon

也许我因为树木而没有看到森林,但这就是我所面对的:

$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"
 }

1 个答案:

答案 0 :(得分:2)

Carbon提供了copy()方法,它将返回实例的“新”副本,例如

$init = $week_start->copy();

默认情况下,在PHP中,使用equals复制对象时,您不会得到独立的副本。您也可以使用clone关键字解决此问题。

请参阅http://php.net/manual/en/language.oop5.references.php