Avatar ·

如何在PHP中完全复制数组到另一个变量,使修改不影响原数组?

大家好!我是PHP新手,遇到了一个困惑的情况。我有一个用户设置数组,想创建它的备份,以便在出问题时恢复。 这是一个简化的例子: ```php $original = ['name' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'бег']]; $backup = $original; // 我以为这是副本 ``` 我修改副本,但更改影响了原数组: ```php $backup['name'] = 'Петр'; echo $original['name']; // 输出 'Иван' — 没问题,这有效 ``` 但当我修改嵌套数组时: ```php $backup['hobbies'][] = 'программирование'; print_r($original['hobbies']); // 输出 ['чтение', 'бег', 'программирование'] ``` 原数组也变了!我了解到在PHP中,数组默认在赋值时复制(copy-on-write),但这不适用于嵌套数组。有没有内置函数可以深度复制(deep copy)数组,使所有嵌套层级都独立?还是需要...