Kie*_*ith 2 php laravel php-carbon laravel-5.2
在Laravel 5.2控制器中使用PHP Carbon时,变量似乎彼此绑定.所以改变一个会影响其他人;
PHP功能:
$now = Carbon::now();
var_dump($now);
$from = $now;
$from->startOfYear();
var_dump('-----------------------------------');
var_dump($now, $from);
Run Code Online (Sandbox Code Playgroud)
结果是:
object(Carbon\Carbon)[225]
public 'date' => string '2016-02-13 21:55:36.000000' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'UTC' (length=3)
string '-----------------------------------' (length=35)
object(Carbon\Carbon)[225]
public 'date' => string '2016-01-01 00:00:00.000000' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'UTC' (length=3)
object(Carbon\Carbon)[225]
public 'date' => string '2016-01-01 00:00:00.000000' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'UTC' (length=3)
Run Code Online (Sandbox Code Playgroud)
设置$from到年初也受到影响$now,我不明白为什么,搜索互联网没有给我什么.此外,在函数中,我将需要根据其他Carbon日期访问和操作Carbon日期,因此我无法使用Carbon::now()Carbon日期的每个单独实例.
我该如何解决这个问题?是什么导致了它?
我无法回答为什么会这样,但我找到了一个临时解决方案,直到我能够深入了解它.从原始Carbon日期创建一个新的Carbon日期,转换为字符串.例如,$from = $new;成为$from = new Carbon($now->toDateTimeString());.您也可以像往常一样访问方法;
$from = (new Carbon($now->toDateTimeString()))->startOfYear();.
| 归档时间: |
|
| 查看次数: |
1764 次 |
| 最近记录: |