0
我具有存储使用碳作为这种当前日期的对象:PHP对象被存储在变量作为参考而不是值
class Events {
public $monthRange = 12;
public $today;
public function __construct() {
$this->today = Carbon::now();
}
}
我具有延伸该类我想要的一类d = $这-今天设置的变量$ a为这样:
namespace Events;
use Carbon\Carbon;
class EventsData extends Events {
public $monthsNames = [
"1" => "January",
"2" => "February",
"3" => "March",
"4" => "April",
"5" => "May",
"6" => "June",
"7" => "July",
"8" => "August",
"9" => "September",
"10" => "October",
"11" => "November",
"12" => "December"
];
public function next_12_months() {
$next_12_months = [];
$d = $this->today;
array_push($next_12_months, $d->month);
for ($i = 0; $i <= ($this->monthRange - 1); $i++) {
$d = $d->addMonths(1);
if ($this->today != $d) {
array_push($next_12_months, $d->year);
}
var_dump($$this->today); //is being modified along with $d
var_dump($d);
$next_month = $d->month;
array_push($next_12_months, $next_month);
}
return $next_12_months;
}
}
的问题是,当我改性$ d这样$ D-> addMonths(1),它似乎$这 - >今天也得到修改。
如何防止这种情况发生?
可能是有用的向我们展示'addMonths'方法,而不是'next_12_months'方法 – RiggsFolly