клон — клонирование объектов

Я хочу передать клон $this->user->settings функционировать $this->updateUserТаким образом, исходный массив не будет затронут.

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

Решение

Вы можете просто сделать следующее:

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

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

Btw, клонирование объектов это другое дело, и в этом случае это не так.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]