2017-10-08 162 views
0

我想将$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 
} 

什么是最好的方式来实现这一目标?

+0

如果您需要对象克隆,请使用关键字clone克隆对象 –

+0

关键字clone由于某种原因停止脚本 –

回答

0

您只需做到以下几点:

private function updateSettings($field, $value) 
{ 
    $newArray = array_merge($this->user->settings, [$field => $value]); 

    $this->updateUser('settings', json_encode($newArray)); 
} 

顺便说一句,object cloning是另一回事,在这种情况下,这并不是说。