2017-10-08 202 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是另一回事,在這種情況下,這並不是說。