我希望将$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
}实现这一目标的最佳方法是什么?
发布于 2017-10-09 02:00:39
您可以简单地执行以下操作:
private function updateSettings($field, $value)
{
$newArray = array_merge($this->user->settings, [$field => $value]);
$this->updateUser('settings', json_encode($newArray));
}顺便说一句,object cloning是另一回事,在这种情况下它不是那样的。
https://stackoverflow.com/questions/46634186
复制相似问题