PHP - 对象克隆
问题描述:
我想将$this->user->settings
的克隆传递给函数$this->updateUser
,所以原始数组不会受到影响。PHP - 对象克隆
private function updateSettings($field, $value)
{
echo gettype($this->user->settings); // array
$this->user->settings[$field] = $value;
$this->updateUser('settings', json_encode($this->user->settings));
echo gettype($this->user->settings); // string
}
什么是最好的方式来实现这一目标?
答
您只需做到以下几点:
private function updateSettings($field, $value)
{
$newArray = array_merge($this->user->settings, [$field => $value]);
$this->updateUser('settings', json_encode($newArray));
}
顺便说一句,object cloning是另一回事,在这种情况下,这并不是说。
如果您需要对象克隆,请使用关键字clone克隆对象 –
关键字clone由于某种原因停止脚本 –